Security Engineering

Description

This is the CISSP certification mind mapping based on Shon Harris 7th edition book
sefa duran
Mind Map by sefa duran, updated more than 1 year ago
sefa duran
Created by sefa duran almost 6 years ago
63
0

Resource summary

Security Engineering
  1. 1 - System Architecture

    Annotations:

    • - ISO/IEC/IEE 42010 System & Software Engineering - Architecture Description Standardın amaçlarından birtanesi de ortak bir dil ve yaklaşım oluşturmaktadır.
    • - baked in: güvenlik gereksinimlerinin analiz aşamasından itibaren dahil edilmesi - bolted on: güvenlik gereksinimlerinin geliştirme aşamasında dahil edilmesi
    1. Architecture

      Annotations:

      • Büyük ve karmaşık bir entity'nin yapısını (Structure) ve davranışlarını(behavior) anlamayı sağlar. - Stakeholder'lara kendi anlayabilecekleri dilde sistem tanımları sunar. (Different views) - Komponentlerin birbirleri, sistem ve çevre ile ilişkisini anlamatı sağlar. - Büyük resmi gösterir. - Sonraki adımlar için referans noktası olur. Diğer adımlar mimariyi referans alarak ilerler.
      • Teorik olarak güvenlik mimari seviyeden başlar sonrasında mimariyi referans alan pratik uygulamalar ile devam eder.
      1. Development

        Annotations:

        • CISSP içerisinde yalnızca geliştirme eforunu değil bir sistemin bütün yaşam döngüsünü temsil eder. (Bakım ve emekli etme dahil).  İçerisinde subset olarak fazlar tanımlanmıştır.
        1. System

          Annotations:

          • Sistem çok geniş anlamda kullanılabilmektedir. Bu nedenle bir PC'den mi yoksa temel uygulamamı kastediliyor kapsam netleştirilmelidir.
          1. Architecture Description

            Annotations:

            • Mimarinin formal olarak tanımlanması için oluşturulan doküman koleksiyonu
            • Bir ev tasarımında mimarinin formal olarak dokümante edilmesi bu aşamadır. Stakeholder'lar bu dokümantasyonlara onay verdikten sonra  design fazı başlayabilir.
            1. Stakeholder

              Annotations:

              • Sistemin paydaşları
              1. View

                Annotations:

                • Sistemlerin farklı concern'lere göre hazırlanmış temsilleridir. (Architecture Views olarakta geçer) 
                • Stakeholder'ların concernleri arc. view'lar ile açıklanır. Bu view'lar ile requirementların karşılandığı gösterilir.
                1. View Point

                  Annotations:

                  • View oluşturmak ve kullanmak için belirlenen spesifikasyonlar. Taslak, şablon vb.
                2. 2 - Computer Architecture

                  Annotations:

                  • PC'nin bütün parçaları bu kavrama dahildir.
                  1. CPU - Central Processing Units

                    Annotations:

                    • - PC'nin beynidir. Dışarıdan gelen instructionları alır ve işler. Aynı zamanda kendi içerisinde de instruction seti vardır.  - PC'lerin düzgün çalışabilmesi için OS'ler CPU'nun dilinden konuşmayı bilmelidir.
                    1. ALU - Aritmatik Logic Unit

                      Annotations:

                      • - veri üzerinde matematiksel ve mantıksal işlemler yapan elemandır.
                      1. Control Unit

                        Annotations:

                        • İşlemci ve requestler arasında trafik polisi görevi görür. Instruction'ların sırasunu belirler.
                        1. Address Bus

                          Annotations:

                          • - RAM ve I/O cihazlara hardwired olarak bağlı bir komponenttir.(Connection). - CPU address bus'a bağlıdır. CPU'nun her hangi bir veriye ihtiyacı olduğunda bu talebini fetch request olarak address bus'a iletir
                          1. Data Bus

                            Annotations:

                            • - Locate edilen veri CPU'nun erişmesi ve okuması için data bus'a koyulur. -CPU RAM ve I/O ile ilgilenmez ihtiyacın olan verilere adress bus ve data bus ile ulaşır.
                            1. Register

                              Annotations:

                              • - Temp storage location for CPU
                              1. General Registers

                                Annotations:

                                • ALU'nun müsvette kağıdıdır. Temp sonuçlar bu alana yazılır ve bu alan üzerinde çalışılır.
                                1. Program Counter Register

                                  Annotations:

                                  • - Fetch edilecek bir sonraki instrustionın memory adresini tutar.  - Güncel talimat işlendikten sonra bir sonraki talimatı getirir.
                                  1. PSW - Program Status Word

                                    Annotations:

                                    • Instruction requestler güvenilir mi yoksa değil mi bunu söyler -user mode -privilege mode
                                2. Multiprocessing

                                  Annotations:

                                  • Bu mode'ların kullanılabilmesi için OS desteği gerekir
                                  1. Symmetrics Mode

                                    Annotations:

                                    • Aynı  anda birden fazla çekirdek kullanılır
                                    1. Asymmetrics Mode

                                      Annotations:

                                      • Bir çekirdeğe deike işlem atanır ve o çekirdeğe farklı bir görev verilmez
                                    2. RAM - Random Access Memory

                                      Annotations:

                                      • -OS ve uygulamalar için temp read/write alanıdır. Volatile bir memorydir. Enerji gittiği zaman içerisindeki bilgi gider.
                                      1. Dynamic RAM - DRAM

                                        Annotations:

                                        • - Volatile elektrik akımı RAM üzerinde bulunan veri corrupt olmasında diye sürekli olarak kendi üzerinde yeniden yazar. Bu nedenle static RAM'e göre daha yavaştır. 
                                        1. Statis RAM - SRAM

                                          Annotations:

                                          • -dynamic RAM'den farklı bir mantık ile çalışır sürekli r/w yapmaz bu nedenle daha hızlıdır. Ancak bilgiyi saklamak için daha fazla alana ihtiyaç duyar ve pahalıdır. Aynı zamanda bütün vendorlar ile uyumlu bir teknoloji değildir.
                                          1. Trashing

                                            Annotations:

                                            • - PC datayı bir yerden başka bir yere taşırken processingden uzun zaman harcarsa ortaya çıkan durum trashing olarak adlandırılır.
                                            1. Other Types of RAMS
                                              1. Synchronous DRAM

                                                Annotations:

                                                • CPu sinyal input ve outputları ile sync olur bu sayede hızlı çalışır
                                                1. Extended Data Out DRAM - EDO DRAM

                                                  Annotations:

                                                  • DRAM'den daha hızlıdır. T anında mutliple block erişimi vardır.
                                                  1. Busrt Edo DRAM - BEDO BDRAM

                                                    Annotations:

                                                    • EDO DRAM gibi çalışır ancak daha yüksek kapasiye sahiptir. 8Busrt)
                                                    1. Double Data Rate SD DRAM - DDR SDRAM

                                                      Annotations:

                                                      • Clock Time'da T anında 1 operasyon yerine 2 operasyon gerçekleştirir.
                                                    2. Hardware Segmentation

                                                      Annotations:

                                                      • -RAM üzerinde hafıza alanını direk fiziksel olarak segmente edereke güvenlik sağlanması yöntemine verilen isim.
                                                    3. ROM - Read-Only Memory

                                                      Annotations:

                                                      • Non-volatile tipte bir memory'dir elektrik gitse bile veri kalır. yazılan veri bir daha değiştirilemez.
                                                      1. Programmable ROM

                                                        Annotations:

                                                        • Üzerinde yalnızca bir kere yazılabilir
                                                        1. Erasable Programmable ROM

                                                          Annotations:

                                                          • Elektriksel olarak üzerine yazılabilir ve UV ışınları ile silinebilir ancak silindiği zaman üzerinde bulunan bütün bilgiler gider.
                                                          1. Electrically Erasable Programmable ROM

                                                            Annotations:

                                                            • 1 bit at a time silinebilir ancak bu işlem yavaş gerçekleşir
                                                            1. Flash Memory

                                                              Annotations:

                                                              • Dijital Kamera, BIOS, hafıza kartı vb. yapılarda kullanılan özel bir hafıza tipidir. Solid State çalışır
                                                            2. Cache Memory

                                                              Annotations:

                                                              • Hızlı bir Memory tipidir. kendi içerisinde hızlarına göre gruplandırılabilir. L1 > L2 >L3
                                                              1. Memory Mapping

                                                                Annotations:

                                                                • -Uygulamalar memory'de bulunan bilgiler memory mapper "ACL" aracılığı ile erişir. Hafızaya direk erişim güvenilir kaynak olan CPU tarafından gerçekleştirilebilir. -OS'ler uygulamaların memory erişimlerini index table ve pointer(logical address) üzerinden yapmasına izin verir. -Uygulamalar yalnızca kendi hafıza alanlarına direk olarak erişebilir bu sayede güvenli bir yapı ortaya çıkmış olur.
                                                                1. Absolute address

                                                                  Annotations:

                                                                  • CPU Memory erişim adresi, direk fiziksel adres
                                                                  1. Logical/Relative address

                                                                    Annotations:

                                                                    • -Yazılımlar tarafından indexlenen memory adresleri -offset value uygulanmış adres (Logical=Relative)
                                                                    • Uygulamalar talimatları kendi logical adres schemalarına göre mapler (0-5000). Bu bilgiler memoryde fiziksel olarak farklı bir schema ile tutulutrsa Örn, 0 yerine 3400'den başlayan --> Uygulama ve fiziksel schema arasında bir mapping ihtiyacı doğar. - Logical: 100 - Physical: 3500 - Off Set Value: 3400
                                                                  2. Buffer Overflow

                                                                    Annotations:

                                                                    • Bir process için kapasiteden fazla talep kabul edildiği zaman bu sorun ortaya çıkar -Buffer allocated segment of memory
                                                                    • -Yazılımcı buffer boyutunu düzgün ayarlamazsa  buffer'a fazla yüklenen veri STACK içerisinde bufferlarda bulunan data ve instructionlar overwrite eder. (Kullanılacak data ve instructionlar buffer içerisinde saklanır) -Buffer'a gönderilen veri miktarı kontrol edilmelidir. -OS'in 32-bit veya 64-bit olması stack boyutunu değiştirir. -Buffer Overflow'u engellemek için uygulama alınan veriye bound checking uygulamalıdır. C'de bulunan 'strcpy' komutu bound checking yapmadan kopyalama yapar ve bu soruna neden olur
                                                                    • -İşlemci setleri üzerinde farklı komutlar çalıştığı için Intel'de çalışan buffer overflow saldırısı AMD üzerinde çalışmayabilir.
                                                                    • -Bir saldırganın buffer overflow saldırısı gerçekleştirebilmesi için  1-Buffer size 2-Stack address bilgilerine sahip olması gerekmektedir. + payload boyutunun küçük olması gerekmektedir.
                                                                    1. Buffer

                                                                      Annotations:

                                                                      • Stack içerisinde bulunan allocated segment of memory
                                                                      1. Stack

                                                                        Annotations:

                                                                        • Uygulama ve process arasında iletişimi sağlayan memory segment. 32-bit 64-bit yapılara göre boyutu değişir.
                                                                        1. Return Pointer

                                                                          Annotations:

                                                                          • Stack içerisine ilk olarak koyulan bilgidir. İşlemin sonunucunun nereye gönderileceği bilgisini tutar. FILO yapısı oldupundan stack içerisinden en son RP çıkar
                                                                        2. Memory Protection Techniques
                                                                          1. ASLR - Address Space Layout Randomization

                                                                            Annotations:

                                                                            • -İlk olarak windows vistalarda uygulanan koruma yöntemi --> memory address sürekli olarak güncellenir.
                                                                            1. DEP - Data Execution Prevention

                                                                              Annotations:

                                                                              • -Bir çok OS güncel olarak bu yapıyı kullanır. Kod güvenilmeyen hafıza segmenti üzerinde çalışamaz ve saldırı engellenir.
                                                                            2. Memory Leaks

                                                                              Annotations:

                                                                              • Kötü yazılan kodlar nedeniyle uygulamalar cihaz hafızasını tüketirler. Uygulamaların işleri bittikten sonra kaynağı bırakmaması nedeniyle aslında bir çeşit DoS ortaya çıkar bu durum memory leak olarak adlandırılır.
                                                                            3. Operating Systems
                                                                              1. Process Management
                                                                                1. Multiprogramming

                                                                                  Annotations:

                                                                                  • -Birden fazla programın aynı anda çalışabilmesidir. Aslında çalışan farklı processlerdir ancak program olarak adlandırılmıştır.
                                                                                  1. Multitasking

                                                                                    Annotations:

                                                                                    • -Processlerin yanı sıra gelen iletilen requestlerin eş zamanlı olarak işlenebilmesidir.  -Multiprogramming'in gelişmiş versiyonudur.
                                                                                    • -Tost yaparken ev işlerinin yapılması örneği.
                                                                                    1. Cooperative Multitasking

                                                                                      Annotations:

                                                                                      • -Eski teknoloji, resource yazılımı tarafından serbest bırakılır. 
                                                                                      1. Preemptive Multitasking

                                                                                        Annotations:

                                                                                        • -Resource OS tarafından yönetilir.  Java Garbage Collector.
                                                                                      2. Process

                                                                                        Annotations:

                                                                                        • -En temel olarak aktif koşan instruction set ve bu instructionlara atanan kaynaklar Process olarak adlandırılır. -Bu tanımın dışında bireysel olarak çalışan uygulamalar da process adlandırılmaktadır.
                                                                                        1. States of a Process
                                                                                          1. Running State

                                                                                            Annotations:

                                                                                            • -Data ve instructionların CPU tarafından aktif olarak işlendiği durum
                                                                                            1. Ready State

                                                                                              Annotations:

                                                                                              • -CPU'ya bilgi göndermeye hazır durum
                                                                                              1. Blocked State

                                                                                                Annotations:

                                                                                                • -Process'in input bekleme durumudur. Klavye'den veya grep'teki gibi bir önceki processing bitmesini beklmesi gibi.
                                                                                              2. Proess Table

                                                                                                Annotations:

                                                                                                • -OS process ve ilgili bilgileri (stake pointer, memory location vb.) her zaman bir tablo üzerinde tutar ihtiyacı olduğu durumda direk olarak burdan alır.
                                                                                                1. Interrupts

                                                                                                  Annotations:

                                                                                                  • Processlerin CPU ile konuşma önceliklerini belirler
                                                                                                  1. Maskable Interrupts

                                                                                                    Annotations:

                                                                                                    • -İhmal edilebilir taleplerdir. Standart talepler
                                                                                                    1. non-Maskable Interrupts

                                                                                                      Annotations:

                                                                                                      • -Geldiği zaman direk olarak önceliği alan ve ertlenemeyen interruplardır. -PC memory hatası alırsa ve bunu çözemezse restart talimatı gönderir ve bu beklenmeden işlenir.
                                                                                                  2. Spawning

                                                                                                    Annotations:

                                                                                                    • -Unix ve Linux'lerde OS tarafından child processing ortaya çıkarmanın adı. cat file1 file2 | grep stuff --> Bu komut çalıştığında 2 process spawn edilir.
                                                                                                    1. Memory Stacks

                                                                                                      Annotations:

                                                                                                      • -Her bir process kendi stack'ine sahiptir. Stack'ler LIFO olarak çalışır en altta Return Pointer bulunur. -Sonrasında sırasıyla Intruction ve data gelir ve bu şekilde sıra ile devam eder. - CPU stack içerisinde hangi pozisyonda kaldığını Stack Pointer ile takip eder. CPU talimat ve datayı işledikten sonra bir sonraki ile bu şekilde devam eder.
                                                                                                      1. Thread Management

                                                                                                        Annotations:

                                                                                                        • -CPU processleri kolayca yönetebilmek için bir entity altında toplar. Sonrasında CPU'ya bir işlem için talimat göndereceği zaman thread üretir CPU'ya talimatları bu şekilde gönderir. - Thread individual instruction set ve data'lardan oluşur.
                                                                                                        1. Multi-threaded

                                                                                                          Annotations:

                                                                                                          • -Uygulamalar birden fazla fonksiyonu yerine getirmek amacıyla tasarlarnır. Örndeğin dosyayo kaydet, yazıcıya gönder vb. bu işlemlerin herbiri CPU tarafında farklı thread'ler üzerinden işlenmektedir.
                                                                                                          1. Process Security

                                                                                                            Annotations:

                                                                                                            • -Processler CPU'ya yüklenmeden önce güvenlik kontrolleri gerçekleşir ve sonrasında işlenir. Saldırgan bu aşamada proess içerisine farklı bir talimat yüklerse (ve privilege modda ise ) bu talimat işlenir ve sisteme zarar verilebilir.  Bu nedenle processler yalnızca approved entity'lerden talimat kabul etmelidir. Bu sayede saldırının önüne geçilmiş olur.
                                                                                                          2. Process Scheduling

                                                                                                            Annotations:

                                                                                                            • -Scheduling Policy: Thread'lerin birbirleri ile nasıl iletişime geçeceğini yönetmek amacıyla oluşturlmuştur. OS gereken durumuna göre processleri yaratır ve kill eder. - Bu sistem düzgün olarak çalışmazsa saldırgan bazı processlerin hiç bir zaman işlenmemesini sağlayarak bir çeşit DoS'a neden olabilir. 
                                                                                                            • -Bir process kaynapa ihtiyaç duyduğu zaman OS bir data structure oluşturur ve sonrasında bu kaynağı process'e dedike eder. Bu işlem düzgün gerçekleşmezse sistem kaynak sıkıntısı yaşar (Memory kısıtı yaşamak gibi) Bu bir DoS tipidir.
                                                                                                            1. Software Deadlock

                                                                                                              Annotations:

                                                                                                              • App1: A kaynağına sahip ve işlemi tamamlaması için B kaynağına ihtiyaç duyuyor. App2: B kaynağına sahip ve işlemi tamamlamak için A kaynağına ihtiyaç duyuyor. Bu durumda Software Deadlock ortaya çıkar ve her 2 process te işlemini tamamlayamayaz. OS akıllı algoritmalar ile bu sorunu çözer - OS'ler bu durumu çözmek için farklı yöntemler izler. Örneğin, kaynak uzun süre dedile kalırsa process kill eder ve kaynağı havuza geri gönderir.
                                                                                                            2. Process Activity

                                                                                                              Annotations:

                                                                                                              • -Aynı dosya ve kaynak, aynı anda birden fazla process'in kullanımına verilmiş olabilir ancak burada aynı anda read-write işlemleri yapamazlar bu bir kuraldır. 
                                                                                                              1. Process Isolation

                                                                                                                Annotations:

                                                                                                                • -Process'lerin birbirine müdahale etmemesi amacıyla geliştirilen bir mekanizmadır.  -Bu mekanizma sayesind eğer bir process fail ederse. bu durum diğerlerini etkilemez. -
                                                                                                                • Preemptive mutitasking için process isolation olması şarttır.
                                                                                                                1. Encapsulation of Object

                                                                                                                  Annotations:

                                                                                                                  • -Encapsulated olan process'in içerisinde yapılan işlemler başka hiç kimse tarafından anlaşılamaz ve müdahale edilemez. -İletişim interface'ler arasından gerçekleşir.
                                                                                                                  • Encapsulation --> Data Hiding sağlar
                                                                                                                  1. Time multiplexing

                                                                                                                    Annotations:

                                                                                                                    • CPU'nun kaynaklarını farklı processler için ayırması durumudur. Tek bir kaynak var ancak herkes sırayla kullanıyor.  -Baz istasyonlarında telefonla konuşurkende benzer bir mekanizma kullanılır.
                                                                                                                    1. Naming Distinctions

                                                                                                                      Annotations:

                                                                                                                      • -Her process kendisine özel bir isme veya ID'ye sahiptir. (PID) -BU isolation'ın farklı bir türüdür
                                                                                                                      1. Virtual Address Memory Mapping

                                                                                                                        Annotations:

                                                                                                                        • -OS'in virtual memory adreslerine karşılık fiziksel memory atamasında bir process tarafıdan kullanılan hafızayı başka bir process'e vermesinin engellenmes
                                                                                                                  2. Memory Management

                                                                                                                    Annotations:

                                                                                                                    • OS tarafından yapılan memory management'ın 3 temel görevi 1- Yazılımcılar için abstraction level sağlaması 2- Kıstlı memory ile performans optimizasyon 3- Memory'ye yüklenen appleri ve OS'yi korumak.
                                                                                                                    1. Abstraction

                                                                                                                      Annotations:

                                                                                                                      • Bir şeyin detayının gizli olmasıdır. Bu tanıma göre yazılımcı yazdığı kodun nasıl hafıza kullanması gerektiği ile ilgilenmez.
                                                                                                                      1. Memory Manager

                                                                                                                        Annotations:

                                                                                                                        • -hafıza segmentlerinin alokasyonu -Process'lerin ACl enformcementlt'ı -RAM to HardDrive swap işlemlerini yapmaktan sorumludur.
                                                                                                                        • Hafıza Kapasiteleri (yukarıdan aşağı yavaşlar) 1- CPU register 2- Cache 3- Main Memory 3.5 - Swap Space 4 - Disk Storage
                                                                                                                        1. Memory Manager 5 Basic Responsibilities
                                                                                                                          1. Relocation

                                                                                                                            Annotations:

                                                                                                                            • -RAM TO HardDrive Swap - İnstrucionlar ve memory segmen hafıza'da farklı bir yere taşındıysa uygulamalra için pointer sağlamak
                                                                                                                            1. Protection

                                                                                                                              Annotations:

                                                                                                                              • -Process'leri yalnızca ilgili memory segmentleri ile iletişim kurmaya zorlamak -Memory Segment'ler için ACL sağlamak
                                                                                                                              1. Sharing

                                                                                                                                Annotations:

                                                                                                                                • -Birden fazla processs aynı hafıza segmentini kullanacaksa komplex mekanizmalar ile gizliliği ve bütünlüğü korur - Tek bir memory segment üzerinde çalışan uygulamaya birden fazla kullanıcının farklı erişim hakları ile erişmesini sağlar.
                                                                                                                                1. Logical Organization

                                                                                                                                  Annotations:

                                                                                                                                  • - Bütün memory tiplerini segmente eder ve abstract seviyede her birisi için adres schema sağlar. -Spesifik yazılım modüllerinin paylaşılmasını sağlar (Örn; DLL Prosedür)
                                                                                                                                  1. DLL

                                                                                                                                    Annotations:

                                                                                                                                    • -Dynamic Link Library (DLL) uygulamaların farklı işlemleri yaptırmak için çağırabildikleri kütüphaneler. Örneğin; crypt32.dll şifreleme için kullanılır
                                                                                                                                  2. Physical Organization

                                                                                                                                    Annotations:

                                                                                                                                    • -Fiziksel hafıza alanını uygulama ve işletim sistemi için ayrırır
                                                                                                                              Show full summary Hide full summary

                                                                                                                              Similar

                                                                                                                              Final Exam 2015+
                                                                                                                              Alexandre Pinheiro
                                                                                                                              CISSP Domains
                                                                                                                              pikeje
                                                                                                                              Certified Information Systems Security Professional (CISSP)
                                                                                                                              GoAsk Chaz
                                                                                                                              CISSP Domians
                                                                                                                              examtime8725
                                                                                                                              CISSP Incidents and Ethics
                                                                                                                              Dani B
                                                                                                                              Chapter 5 - CISSP Domain 2 - Protecting Security of Assets
                                                                                                                              Niels de Jonge
                                                                                                                              Chapter 4 - CISSP Domain 1 - Laws, Regulations and Compliance
                                                                                                                              Niels de Jonge
                                                                                                                              Asset Security
                                                                                                                              Dani B
                                                                                                                              Chapter 6 - CISSP Domain 3 - Cryptographic and Symmetric Algorithms
                                                                                                                              Niels de Jonge
                                                                                                                              BCP/DR
                                                                                                                              hunter sekara