마인드 맵 갤러리 CISSP-8-애플리케이션 보안 개발
CISSP-정보 시스템 보안 전문가 자격증의 애플리케이션 보안 개발 마인드맵에는 주로 애플리케이션 개발 학습 목표, 시스템 개발 보안, 소프트웨어 개발 모델, 프로그래밍 언어 및 개념, 일반적인 애플리케이션 시스템, 소프트웨어 보안 효과 평가가 포함됩니다.
2021-11-10 12:06:10에 편집됨이것은 (III) 저산소증-유도 인자 프롤릴 하이드 록 실라 제 억제제에 대한 마인드 맵이며, 주요 함량은 다음을 포함한다 : 저산소증-유도 인자 프롤릴 하이드 록 실라 제 억제제 (HIF-PHI)는 신장 빈혈의 치료를위한 새로운 소형 분자 경구 약물이다. 1. HIF-PHI 복용량 선택 및 조정. Rosalasstat의 초기 용량, 2. HIF-PHI 사용 중 모니터링, 3. 부작용 및 예방 조치.
이것은 Kuka Industrial Robots의 개발 및 Kuka Industrial Robot의 모션 제어 지침에 대한 마인드 맵입니다. 주요 내용에는 쿠카 산업 로봇의 역사, 쿠카 산업 로봇의 특성, 쿠카 산업 로봇의 응용 분야, 2. 포장 프로세스에서 쿠카 로봇은 빠르고 일관된 포장 작업을 달성하고 포장 효율성을 높이며 인건비를 줄입니다. 2. 인건비 감소 : 자동화는 운영자에 대한 의존성을 줄입니다. 3. 조립 품질 향상 : 정확한 제어는 인간 오류를 줄입니다.
408 컴퓨터 네트워크가 너무 어렵습니까? 두려워하지 마세요! 나는 피를 구토하고 지식 맥락을 명확히하는 데 도움이되는 매우 실용적인 마인드 맵을 분류했습니다. 컨텐츠는 매우 완전합니다. 네트워크 아키텍처에서 응용 프로그램 계층, TCP/IP 프로토콜, 서브넷 디비전 및 기타 핵심 포인트에 이르기까지 원칙을 철저히 이해하는 데 도움이 될 수 있습니다. 📈 명확한 논리 : Mindmas 보물, 당신은 드문 기회가 있습니다. 서둘러! 이 마인드 맵을 사용하여 408 컴퓨터 네트워크의 학습 경로에서 바람과 파도를 타고 성공적으로 해변을 얻으십시오! 도움이 필요한 친구들과 공유해야합니다!
이것은 (III) 저산소증-유도 인자 프롤릴 하이드 록 실라 제 억제제에 대한 마인드 맵이며, 주요 함량은 다음을 포함한다 : 저산소증-유도 인자 프롤릴 하이드 록 실라 제 억제제 (HIF-PHI)는 신장 빈혈의 치료를위한 새로운 소형 분자 경구 약물이다. 1. HIF-PHI 복용량 선택 및 조정. Rosalasstat의 초기 용량, 2. HIF-PHI 사용 중 모니터링, 3. 부작용 및 예방 조치.
이것은 Kuka Industrial Robots의 개발 및 Kuka Industrial Robot의 모션 제어 지침에 대한 마인드 맵입니다. 주요 내용에는 쿠카 산업 로봇의 역사, 쿠카 산업 로봇의 특성, 쿠카 산업 로봇의 응용 분야, 2. 포장 프로세스에서 쿠카 로봇은 빠르고 일관된 포장 작업을 달성하고 포장 효율성을 높이며 인건비를 줄입니다. 2. 인건비 감소 : 자동화는 운영자에 대한 의존성을 줄입니다. 3. 조립 품질 향상 : 정확한 제어는 인간 오류를 줄입니다.
408 컴퓨터 네트워크가 너무 어렵습니까? 두려워하지 마세요! 나는 피를 구토하고 지식 맥락을 명확히하는 데 도움이되는 매우 실용적인 마인드 맵을 분류했습니다. 컨텐츠는 매우 완전합니다. 네트워크 아키텍처에서 응용 프로그램 계층, TCP/IP 프로토콜, 서브넷 디비전 및 기타 핵심 포인트에 이르기까지 원칙을 철저히 이해하는 데 도움이 될 수 있습니다. 📈 명확한 논리 : Mindmas 보물, 당신은 드문 기회가 있습니다. 서둘러! 이 마인드 맵을 사용하여 408 컴퓨터 네트워크의 학습 경로에서 바람과 파도를 타고 성공적으로 해변을 얻으십시오! 도움이 필요한 친구들과 공유해야합니다!
애플리케이션 보안 개발
애플리케이션 개발 학습 목표
소프트웨어 개발 수명주기 보안
소프트웨어 개발 수명주기 접근 방식
성숙도 모델
운영 및 유지보수
변경 관리
통합제품팀
개발 환경의 보안 제어
소프트웨어 환경의 보안(프로그래밍 언어, 라이브러리, 도구 상자, 포괄적인 개발 환경, 런타임)
소스코드 수준의 보안 취약점 및 취약점
보안 코딩의 중요한 구성 요소인 구성 관리
애플리케이션 인터페이스 보안
소프트웨어 보안 효과
변경 사항 감사 및 기록
위험 분석 및 완화 (수정 조치, 테스트 및 검증, 회귀 테스트)
사용자 승인 테스트
애플리케이션 개발 문제
건축 패턴
3계층 아키텍처
사용자
프런트 엔드
복잡한 미들웨어
데이터 베이스
버그 추적 및 보안 기능
클라이언트 서버
클라이언트: 사용자 인터페이스, 로컬 데이터베이스 운영, 통신 메커니즘
서버: 데이터 요청을 실행 및 처리하고 결과를 반환합니다.
브라우저/서버
환경 제어 V 애플리케이션 제어
다양한 제어 방식의 균형
환경 제어와 애플리케이션 제어 간의 경계를 이해합니다.
안전 V 기능
소프트웨어 기능과 보안 조치의 균형
기능 요구 사항, 보안 요구 사항 및 보안 메커니즘의 균형
보안 V 사용자 경험
일반적으로 에 반비례합니다.
보안 기능 V 구성 보안
기본 설치는 보안을 보장하지 않습니다.
구성 보안이 활성화되지 않았습니다(기본적으로 액세스가 거부되어야 함).
최소 설치 원칙을 따르지 않음
패치 후 설치
시스템 개발 보안
SDLC
프로젝트 시작
요구사항을 명확히 하고 제품의 기본 안전 목표를 결정합니다.
위험 분석 평가, 위협 및 취약점 평가, 다양한 보안 대책의 비용/이익 비율 추정
위기 관리
위험도 분석
수요 분석
안전 요구 사항
시스템 또는 애플리케이션 기능 요구 사항
표준 및 지침
수출 제한
데이터 민감도 수준
관련 보안 정책
비용/편익 분석 결과
목표 달성에 필요한 보호 수준
프로젝트 개발 및 요구 사항 관리 팀은 새로운 시스템이 최종 사용자 요구 사항을 충족하는지 확인하기 위해 현재 및 미래의 기능 요구 사항에 대한 복잡한 분석을 수행합니다.
또한 프로젝트 팀 구성원은 프로젝트 초기 단계에서 출력된 문서를 검토하고 필요에 따라 수정 및 업데이트합니다.
상대적으로 규모가 작은 프로젝트의 경우 위의 프로세스가 프로젝트 초기 단계에 포함되는 경우가 많습니다.
이에 따라 보안 요구사항도 구성되어야 합니다. (보안 요구사항은 요구사항 분석 단계에서 결정되며, 요구사항 단계에서는 보안 인력이 반드시 참여해야 함)
시스템 디자인
시스템 설계의 일부인 소프트웨어 개발
하드웨어는 소프트웨어와 다르다
일반적으로 소프트웨어로 구현되는 기능은 시스템 설계 과정에서 결정됩니다.
소프트웨어 검증에서는 시스템이 설계된 모든 상황을 고려해야 합니다.
사양을 고려해보세요
소프트웨어와 하드웨어의 차이점
소프트웨어는 분기를 가질 수 있고 소프트웨어는 다양한 입력을 기반으로 다양한 명령을 실행할 수 있으므로 소프트웨어가 복잡합니다.
소프트웨어는 물리적이지 않으므로 마모되지 않습니다.
소프트웨어는 쉽고 빠르게 변경할 수 있습니다.
소프트웨어 개발 프로세스는 소프트웨어 변경으로 인해 발생하는 예상치 못한 결과를 감지하고 수정하기 위해 완벽하게 계획, 제어 및 기록되어야 합니다.
.소프트웨어 구성 요소는 하드웨어만큼 자주 표준화되지 않고 교체가 불가능합니다.
사용자 요구 사항 및 시스템 내부 동작을 설명하는 도구
시스템 및 소프트웨어 설계와 관련된 모든 활동을 포함합니다.
시스템 아키텍처, 시스템 출력 및 시스템 인터페이스 설계
데이터 입력, 데이터 흐름 및 데이터 출력 요구 사항을 설정하고 일반적으로 회사의 보안 아키텍처를 기반으로 소프트웨어 보안 기능을 설계합니다.
설계
데이터 디자인
데이터 설계 및 정보 모델 데이터를 추출하여 데이터 구조로 변환
건축 디자인
애플리케이션 구성 요소 간의 주요 구조와 관계를 정의합니다.
프로세스 설계
구조화된 구성 요소를 설명적인 프로세스로 변환
보안 설계 접근 방식
위협 모델링(STRIDE)
공격 표면 최소화 분석
입력 및 출력 정리
고려해야 할 질문
후속 단계를 위한 작업분류체계(WBS)
제품의 세부 사항과 제품이 구현되는 환경
제품 모듈화 및 재사용 문제
소프트웨어 개발 및 구현
주요 작업
소스 코드가 생성되었으며 이에 따라 테스트 시나리오 및 테스트 케이스가 개발되었습니다.
단위 및 통합 테스트 구현 시작
또한 유지 관리를 위해 절차와 시스템을 문서화하기 시작한 다음 승인 테스트 및 생산 전환으로 이동합니다.
테스트 유형
단위 테스트
데이터 구조, 논리 및 경계 조건 확인
통합 테스트
구성 요소가 설계 사양에 따라 함께 작동하는지 확인
시스템 테스트
기능/성능
승인 테스트
코드가 고객 요구 사항을 충족하는지 확인
회귀 테스트
시스템 변경이 이루어진 후에는 다음과 같이 다시 테스트됩니다. 기능, 성능 및 보호 수준 보장
기능 검사
성능 시험
부하 테스트
압력 테스트
퍼징 테스트
소프트웨어 오류를 발생시키기 위해 복잡한/무작위 데이터를 소프트웨어로 보냅니다. 이는 주로 소프트웨어 정지, 충돌 또는 발생을 유발할 수 있는 버퍼 오버플로, DOS, 주입, 확인 오류 및 기타 오류를 식별하는 데 사용됩니다.
취약점 스캔
강력한 유형의 언어 오류, 개발 및 구성 오류, 트랜잭션 시퀀스 오류(트랜잭션 시퀀스 오류), 매핑 트리거 조건(매핑 트리거 조건) 등과 같은 프로그램의 주요 오류를 확인하려면 자동화된 도구를 사용합니다. 조사 후 작업이 필요합니다.
수동 테스트
테스터는 종종 컴퓨터 기술을 사용하여 인간의 경험과 직관을 통해 프로그램을 분석함으로써 논리 오류와 같은 설계 오류를 찾을 수 있습니다. 침투 테스트가 포함됩니다.
동적 분석
동적 분석은 실행 중인 프로그램을 적시에 분석하는 것으로, 일반적으로 정적 분석 후 프로그램의 기본 문제가 해결된 후에 실행됩니다.
환경 분리와 책임 분리
확인하다 (확인)
제품 사양이 충족되는지 확인
확인하다 (확인)
프로젝트의 주요 목표가 충족되는지 확인
개발된 시스템이나 애플리케이션을 어떻게 활용하고 운영하는지에 집중
인증 (인증)
IT 시스템과 그 시스템의 기술적, 비기술적 보안 특성 보호 조치의 안전성 평가, 특정 설계 및 구현이 어떻게 충족되는지 측정 인증 프로세스를 지원하기 위해 정의된 보안 요구 사항 세트입니다.
보안 통제를 조사하고 평가하는 프로세스
외부 독립 검사 기관에 의해 수행
보안 정책 및 표준 준수 확인
평가 또는 승인 (인증)
권위 있는 기관은 IT 시스템이 승인되었으며 다음을 수행할 수 있음을 공식적으로 선언합니다. 허용 가능한 수준의 위험을 충족하는 정의된 보안 조치 세트를 사용하는 특정 보안 모드에서 작동할 수 있습니다.
경영진의 시스템 승인
명확한 위험 수용
마이그레이션 및 수정사항
이 단계에서는 시스템이 수용 단계에서 실제 생산 환경으로 전환됩니다.
이 단계의 활동에는 안전 승인 획득이 포함됩니다. (보안 인증);
계획에 따라 사용자를 교육합니다.
설치 및 데이터 변환을 포함한 시스템 구현
필요한 경우 병렬 작업을 수행합니다.
운영 및 유지보수
보안 환경을 올바르게 구성하십시오.
지속적으로 취약성 테스트를 수행하고, 시스템 활동을 모니터링하고 이벤트를 감사합니다. (유지보수 단계에서 취약점이 발견되어 보고 조치를 취함)
큰 변화가 발생하면 위험 평가를 수행하고, 인증 및 인정 프로세스(재인증, 재인증)를 수행합니다.
폐기하다 (처분)
데이터 민감도에 따라 데이터를 폐기합니다.
파기방법
물리적 손상
소자
덮어쓰기
SELC 시스템 엔지니어링 수명주기 (시스템 엔지니어링 수명주기)
요구사항 분석, 설계, 구현, 검증, 운영 요구사항 분석, 설계, 구현, 검증, 운영
변경 및 구성 관리
역량 성숙도 모델 (CMM)
초기(임시)
반복 가능
한정된
관리형(관리형, 측정항목)
최적화(지속적인 개선)
능력 성숙도 모델 통합 (CMMI)
1, 3, 5는 동일, 2. 관리, 4. 정량화하여 관리
통합제품팀
통합 제품 및 프로세스 개발(IPPD) 통합 제품 및 프로세스 개발
다분야 팀을 사용하여 필요한 모든 획득 활동을 동시에 통합하여 설계, 제조 및 지원 프로세스를 최적화하는 관리 기술
IPPD는 현장 지원을 포함하여 제품 개념부터 생산까지 비용 및 성능 목표 충족을 촉진합니다.
IPPD의 핵심 원칙은 IPT(통합 제품 팀)의 다분야 협업 모델입니다.
IPT
모든 기능 분야의 대표자들은 팀 리더와 협력하여 성공적이고 균형 잡힌 프로그램을 구축하고, 문제를 식별 및 해결하며, 건전하고 시기적절한 결정을 내립니다.
팀 구성원은 반드시 프로젝트에 자신의 시간을 100% 기여할 필요는 없으며 구성원은 여러 IPT 팀에 속할 수 있습니다.
IPT의 목적은 고객 및 공급업체를 포함한 모든 팀(예: 프로젝트 관리, 엔지니어링, 제조, 테스트, 논리, 재무 관리, 조달 및 계약 관리)의 실시간 입력을 기반으로 팀 결정을 내리는 것입니다.
ITP의 팀 구성원은 기업 구성원과 시스템/하위 시스템 계약자를 포함한 프로젝트 관리자 수준의 구성원으로 구성됩니다.
일반적인 IPT는 프로그램 수준에 있으며 예를 들어 설계 엔지니어링, 제조, 시스템 엔지니어링, 테스트 및 평가, 하도급, 품질 보증, 교육, 재무, 신뢰성, 유지 관리 가능성, 지원, 조달 등의 기능 분야로 구성될 수 있습니다. 계약 관리, 공급업체 및 고객.
데브옵스
개념
원칙적으로
유사한 생산 시스템 개발 및 테스트
반복 가능하고 안정적인 프로세스로 배포
운영 품질 모니터링 및 검증
피드백 루프 확장
소프트웨어 개발 모델
폭포 모델
기획, 요구사항 분석, 소프트웨어 설계, 프로그램 작성, 소프트웨어 테스팅, 운영 및 유지보수
나선형 모델
구조화된 프로그래밍 개발
반복 개발
프로토타입 모델
버리다
개선하다
신속한 프로토 타입
모델 탐색
공동분석 개발
신속한 애플리케이션 개발(RAD)
모델 재사용
깨끗한 방
부품 개발
민첩한 개발
익스트림 프로그래밍 XP
스크럼
기대다
애자일 선언문 4문장
프로세스와 도구를 통한 개인과 상호작용 철저한 문서화보다 작동하는 소프트웨어 계약 협상보다 고객 협력 계획을 따르는 것보다 변화에 더 잘 대응
프로그래밍 언어 및 개념
구조화된 프로그래밍
하향식 분석 및 설계 상향식, 단계별 구현
사용자 중심 관점, 작업 단계를 엄격하게 구분
단점: 긴 개발 주기, 번거롭고 복잡한 개발 프로세스 감사는 더 어렵고 사용자 통신은 직관적이지 않습니다.
객체 지향 프로그래밍
클래스와 객체의 두 부분으로 구성됩니다.
친절한 (수업)
클래스는 사물의 추상적인 특성을 정의합니다.
클래스는 사물의 속성과 그것이 무엇을 할 수 있는지(행위)를 정의합니다.
클래스의 메서드와 속성을 "멤버"라고 합니다.
물체 (물체)
객체는 클래스의 인스턴스입니다.
시스템은 객체에 메모리 공간을 할당하지만 클래스에는 할당하지 않습니다. 클래스는 추상적입니다. 시스템이 추상적인 것에 공간을 할당하는 것은 불가능합니다.
객체=속성 메서드
속성:
객체의 구조와 상태 특성을 설명합니다.
방법:
객체가 수행할 수 있는 기능이나 프로세스
객체 간 통신 방법: 메시지 전달
다형성 (다형성)
캡슐화에 대한 가장 간단한 이해는 패키징으로, 이는 객체의 속성과 구현 세부 사항을 숨기는 것을 의미합니다. 인터페이스만이 외부 세계에 노출됩니다. 즉, 객체의 내부 상태가 외부 세계에 투명합니다.
캡슐화 (캡슐화)
객체 정보를 숨기는 것을 의미합니다.
공개 회원
개인 회원
상속하다 (계승)
기존 클래스에서 하나 이상의 하위 유형을 생성하는 메커니즘입니다.
소프트웨어 아키텍처
데이터 구조
데이터 요소 간의 논리적 관계 표현
스칼라
연결리스트
계층적 트리
응집력과 결합 (높은 응집력, 낮은 결합력)
응집력
모듈이 수행할 수 있는 다양한 유형의 작업을 반영합니다.
응집력이 높을수록 업데이트 및 수정이 더 쉬워지며, 다른 모듈과 상호작용하는 다른 모듈에 영향을 주지 않고
커플 링
모듈이 작업을 수행하는 데 필요한 상호 작용의 양
낮은 결합으로 인해 재사용이 더 쉬워지고 수정이 다른 모듈에 영향을 미치지 않습니다.
분산 컴퓨팅
공통 객체 요청 브로커 아키텍처 (코르바)
마이크로소프트 COM/DCOM 모델
EJB
API
API는 IoT(Internet of Things)를 위한 커넥터로 기기 간 연결을 가능하게 해줍니다.
표현 상태 전송(REST) API
REST 보안 전문가 사용 조언
REST API를 위한 세 가지 안전한 경로
대표적인 적용 시스템
웹 보안
메시지 수집 (정보수집)
관리 인터페이스 (관리 인터페이스)
인증 및 접근 제어 (인증 및 접근통제)
입력 검증 (입력 검증)
응답
버퍼 오버플로 공격
XSS 크로스 사이트 스크립팅 공격
SQL 인젝션 공격
매개변수 검증 (매개변수 검증)
세션 관리 (세션 관리)
데이터베이스 관리
데이터베이스 관리 시스템 (DBMS)
데이터 액세스를 관리하고 제어하는 어셈블리
데이터를 특정 형식으로 구성하고 저장합니다. 사용자가 액세스, 관리 및 업데이트할 수 있도록 파일을 기록합니다.
초점: 데이터 수집, 저장, 복구
무결성에 가장 많은 관심을 두고 있으며 가용성, 마지막으로 기밀성이 그 뒤를 따릅니다.
메타데이터
본질: 데이터에 관한 데이터
데이터 소스 정의, 대상 정의, 변환 규칙 등과 관련된 주요 데이터입니다.
특징:
데이터 일관성
작업은 각 데이터베이스의 무결성 정책을 준수해야 합니다. 완전한 거래 데이터 일관성
데이터 공유
여러 사용자가 동시에 데이터베이스에 액세스할 수 있습니다. 동시성 제어 포함
데이터 복구
오류나 시스템 충돌이 발생한 경우 시스템을 복구할 수 있습니다. Crash나 Rollback시 처리중인 트랜잭션을 확인하고, 또는 데이터 일관성을 유지하기 위해 트랜잭션이 완료되었습니다.
체크포인트는 일반적인 복구 기술입니다.
안전하게 제어하다
사용자 접근을 제한하기 위한 다양한 보안 제어 기능 제공
데이터베이스 언어
데이터 정의 언어(DDL), 예: CREATE, DROP, ALTER 및 기타 문.
데이터 조작 언어(DML), 예: SELECT(쿼리), INSERT(삽입), UPDATE(수정), DELETE(삭제) 문.
데이터 제어 언어(DCL), 예: GRANT, REVOKE 및 기타 문.
거래 제어문(TCL), 예: COMMIT, ROLLBACK 및 기타 문.
효과적인 접근 방식이나 프로세스 보장
압축: 데이터를 압축하고 저장 공간과 I/O를 절약하는 기능
재구성: 사용하지 않는 공간 회수
리팩토링: 레코드, 데이터, 액세스 제어 추가 및 변경 디스크 구성 및 처리 기능
데이터베이스 모델
계층적 데이터베이스 모델
논리적 트리 구조에 연관된 레코드와 필드로 구성된 논리적 트리 구조
트리 구조에는 많은 가지가 있고, 각 가지에는 많은 잎이나 데이터 필드가 있습니다.
접근하려면 명확한 경로가 필요합니다. 빈번한 변경에는 적합하지 않으며 빈번한 쿼리에는 적합합니다.
예: 경량 디렉터리 액세스 프로토콜(Lightweight Directory Access Protocol) LDAP, 레지스트리 구조
네트워크 데이터베이스 모델
방향성 그래프를 사용하여 엔터티 유형과 엔터티 간의 관계를 나타냅니다. 엄격한 트리 구조가 아닌 네트워크형 중복 구조
각 데이터 요소에는 여러 개의 상위 노드와 하위 노드가 있습니다.
계층적 모델에 비해 더 빠른 검색
관계형 데이터베이스 모델
기능: 속성/필드(열) 및 튜플/레코드(행)
데카르트 곱의 조합
기본 및 외래 키
기본 키는 레코드를 고유하게 식별합니다.
외래 키: 한 테이블의 속성 값이 다른 테이블의 기본 키와 일치하면 특정 관계가 설정되면 이 속성은 외래 키로 간주됩니다.
기본 구성 요소:
데이터 정의 언어(DDL)
데이터베이스 구조(Structure) 및 데이터 구조(Schema) 정의
구조: 테이블 크기, 키 위치, 뷰 및 데이터 요소 관계를 설명합니다.
스키마: 데이터베이스가 저장하고 작동하는 데이터 유형과 해당 속성을 설명합니다.
데이터베이스의 구성, 액세스 작업 및 무결성 절차를 정의합니다.
데이터 조작 언어(DML)
사용자 조작 명령
데이터 제어 언어(DCL)
사용자 액세스 및 권한 부여 객체 생성
쿼리 언어(QL)
데이터베이스에 쿼리 요청하기
보고서 생성기
사용자 정의 방식으로 데이터 처리 출력
(RDBMS) 관계 무결성
엔터티 무결성 (엔티티 무결성)
각 레코드는 기본 키 값으로 고유하게 식별됩니다.
의미적 완전성 (의미적 무결성)
구조적 규칙과 의미론적 규칙을 준수하는지 확인하세요. 의미상 잘못된 데이터가 데이터베이스에 입력되는 것을 방지합니다. 이는 규칙에 의해 제한된 규칙을 통해 달성될 수 있습니다.
(참조) 참조 무결성 (참조 무결성)
어떤 데이터베이스 레코드도 존재하지 않는 기본 키를 참조할 수 없습니다. 기본 키가 포함된 레코드가 삭제되면 참조된 기록은 모두 삭제해야 합니다. (외래 키)
데이터 사전:
데이터 요소와 그 관계를 설명하는 중앙 라이브러리입니다. 데이터 사용량, 데이터 관계, 데이터 소스 및 데이터 형식과 같은 주요 정보를 저장할 수 있습니다.
데이터 사전은 데이터베이스 데이터를 제어하는 중앙 집중식 관리 부분입니다. 데이터 요소와 데이터베이스 간의 상호 참조를 설명합니다.
데이터 요소 정의, 스키마 개체 및 참조 키의 컬렉션을 설명합니다.
스키마 개체에는 테이블, 뷰, 인덱스, 프로시저, 함수 및 트리거가 포함됩니다.
데이터 관리 소프트웨어는 데이터 사전을 읽고, 모듈이 존재하는지 확인하고, 특정 모듈이 있는지 확인합니다. 사용자 프로세스의 액세스 권한은 각 사용자의 보기 권한 설정도 정의합니다.
새로운 레코드, 테이블, 뷰 또는 스키마를 추가해야 할 때 데이터 사전 업데이트
객체지향 데이터베이스 모델
객체지향 프로그래밍의 객체 데이터 모델을 DBMS와 결합하여, 이미지, 음성, 비디오 및 기타 데이터를 저장할 수 있습니다.
객체 지향 데이터베이스는 클래스를 사용하여 객체의 속성과 프로시저를 정의합니다.
객체 관계형 데이터베이스 모델
데이터베이스 프로그래밍 인터페이스
개방형 데이터베이스 연결, ODBC
객체 연결 및 내장 데이터베이스, OLEDB
ActiveX 데이터 개체, ADO
자바 데이터베이스 상호 연결, JDBC
데이터베이스 취약점 및 위협
진실성 (진실성)
롤백
현재 트랜잭션을 종료하고 변경 사항을 취소하고 이전 상태를 복원합니다.
제출하다
현재 거래를 제출, 종료하고 사용자가 수정한 내용을 실행합니다. 성공적으로 실행되지 않으면 롤백
세이브포인트/체크포인트 (체크포인트)
오류가 감지되면 사용자는 해당 위치로 돌아갈 수 있습니다.
동시 작업의 위협을 처리하기 위해 잠금 메커니즘을 사용합니다.
중합 (집합)
일부 정보는 개별적으로는 민감하지 않지만 함께 민감합니다.
해결책
집계 함수에 대한 액세스를 엄격하게 제어합니다.
사용자는 뷰를 통해 데이터에 직접 액세스할 수 없습니다.
추리 (추론)
원하는 결과를 집계
추론에서는 표시할 수 있는 정보를 얻을 수 없습니다.
해결책:
액세스 제어
컨텐츠 기반 접근 제어
상황에 맞는 액세스 제어
단위 억제 (세포억제)
특정 유닛을 숨기는 데 사용되는 기술
데이터베이스 파티셔닝 (데이터베이스 파티션)
데이터베이스를 여러 부분으로 분할
소음과 소란 (소음 및 교란)
데이터베이스에 가짜 정보를 삽입하는 기술
데이터베이스 보기
여러 인스턴스 (MRDBMS)
동일한 기본 키를 사용하여 여러 튜플을 생성하고 보안 수준에 따라 정의된 인스턴스 간의 관계
이중 자물쇠 (데드락킹)
기타 위협
데이터 베이스
온라인 거래 처리, OLTP
ACID 원칙
원자성
모든 변경 사항이 커밋되거나 데이터베이스가 롤백됩니다.
일관성
데이터베이스 무결성을 따르십시오. 다양한 데이터베이스의 데이터 일관성 보장
격리
거래는 서로 영향을 미치지 않습니다.
내구성
한번 제출하면 되돌릴 수 없습니다
온라인 분석 처리, OLAP
OLAP은 데이터웨어 하우스 시스템의 주요 응용 프로그램입니다.
의사 결정자 및 고위 관리자에게 적합
데이터 웨어하우징 및 데이터 마이닝
정보 검색 및 데이터 분석을 활성화하려면 여러 데이터베이스 또는 데이터 소스를 하나의 대규모 데이터베이스로 결합
데이터 수집
분류: 공통 유사성을 기준으로 데이터 그룹화
가능성: 데이터 간의 상호의존성을 식별하고, 그들의 관계에 가능성을 적용하고
전문가 시스템
규칙 기반 프로그래밍
규칙은 if-then 논리 단위를 기반으로 합니다.
구성
추론 엔진
추론 엔진은 사용자 인터페이스, 외부 파일, 계획 및 프로그램 액세스 기능을 제공합니다.
지식 기반
기술 자료에는 특정 문제 또는 도메인과 관련된 데이터가 포함되어 있습니다.
전문가 시스템은 보안 로그를 자동으로 검토하기 위해 IDS에서 자주 사용됩니다.
인공 신경망
인간 두뇌의 신경 구조를 기반으로 한 전자 모델
뇌는 패턴의 형태로 정보를 저장합니다.
무언가를 배우고 자주 사용하게 되면, 정보 저장 장치와의 연결 경로가 강화됩니다.
신경망은 의사 결정 및 학습 기능을 갖도록 프로그래밍되어 있습니다. 광범위한 시행착오 의사결정 과정을 통해 기능 개선
위협하다
버퍼 오버 플로우 (버퍼 오버 플로우)
비밀통로 채널 변환
타이밍
저장
메모리 재사용/객체 재사용 (메모리 재사용/객체 재사용)
사회 공학
트랩도어/백도어 (트랩도어/백도어)
스푸핑 공격 (스푸핑 공격)
웹 보안
공공 기물 파손
발행된 이미지 및 제목을 수정된 이미지 및 제목으로 교체
인식과 현실
금융 사기
가상 환경에서의 서비스 및 거래 사기
특권적 접근
권한이 있는 사용자에게 액세스를 제한합니다.
거래정보를 훔치는 행위
지적 재산의 도난
서비스 거부 공격
특정 보안
메시지 수집
관리 인터페이스
인증 및 접근 제어
구성 관리
확인 입력
매개변수 확인
세션 관리
SAML
SAML 보안 주장 마크업 언어, XML 기반 프로토콜입니다. 페더레이션 ID 표준입니다. 다양한 보안 도메인에서 인증 및 권한 부여 정보를 전송하는 데 사용되며 Single Sign-On을 구현하는 데 사용할 수 있습니다. KDC에 대한 Kerberos의 의존성과 유사하게 SAML은 IDP(ID 공급자)에 의존합니다. SAML에는 정책 시행이라는 기능이 있습니다.
OAuth2.0
OAuth(Open Authorization)는 개방형 표준으로, 사용자가 타사 애플리케이션이 사용자가 웹사이트에 저장한 개인 리소스(예: 사진, 비디오, 연락처 목록)에 액세스할 수 있도록 허용합니다. 타사 애플리케이션에 사용자 이름과 비밀번호를 제공하지 않고.
원래 OAuth는 유효 기간이 매우 긴(일반적으로 1년 또는 유효 기간 제한 없음) 토큰을 발행합니다. OAuth 2.0에서는 서버가 단기 유효 액세스 토큰과 장기 갱신 토큰을 발행합니다. 이를 통해 클라이언트는 사용자에게 다시 요청하지 않고도 새 액세스 토큰을 얻을 수 있으며 액세스 토큰의 유효 기간도 제한됩니다.
코드 이동
자바 애플릿
자바 언어는 바이트코드, 자바 가상 머신으로 구성된다. 기계가 인식할 수 있는 기계어 코드로 변환합니다.
애플릿은 샌드박스에서 실행됩니다. (샌드박스는 최소한의 인증을 달성하는 데 도움이 됩니다. 악성코드 공격에 효과적으로 대처할 수 있는 수단입니다. 바이러스 백신 소프트웨어의 대안)
ActiveX 컨트롤
악성코드
바이러스
특성 : 번식과 파괴, 숙주가 필요함
매크로 바이러스
부트 섹터 바이러스
부트 영역의 데이터를 삭제하거나 영역을 재부팅할 수 있습니다.
압축 바이러스
실행 가능한 프로그램에 자신을 첨부하고 사용자의 권한을 사용하여 압축합니다.
은밀한 바이러스
파일 상자 부트 레코드에 대한 변경 사항을 숨깁니다.
변성 바이러스
변경했지만 여전히 사용할 수 있는 자신의 사본을 만드세요.
소음이나 위조된 지시, 돌연변이 엔진 및 난수를 통해 지시 순서를 변경하고 탐지를 회피하는 생성기
분할 바이러스
하드 드라이브 부트 섹터와 실행 파일을 동시에 감염시킵니다.
자해 바이러스
자체 코드를 난독화하여 바이러스 백신 소프트웨어의 탐지를 회피합니다.
스크립트 바이러스
터널 바이러스
바이러스 백신 프로그램, 바이러스 백신 소프트웨어를 설치하세요. 바이러스를 탐지하면 7명이 이 통화를 차단합니다.
벌레
호스트 없이 자체 복제 가능
이메일, 웹사이트 다운로드 등을 통해 배포됩니다.
봇넷
봇은 악성코드의 일종으로, 잠복해 있는 악성코드입니다. 암호
트로이 목마
다른 프로그램으로 위장한 프로그램
루트킷
논리 폭탄
특정 이벤트가 발생하면 논리폭탄이 실행됩니다.
바이러스 백신 소프트웨어
특징적인 검출 방법 (서명)
휴리스틱 탐지 (경험적) 비정상적인 동작 감지
의심 카운터
일부 바이러스 백신 소프트웨어는 의심스럽게 샌드박스를 생성합니다. 의심스러운 코드를 동적으로 분석
분류:
코드 조각에 대한 정보를 검토하는 것을 정적 분석이라고 합니다.
코드의 일부가 가상 머신에서 실행되도록 허용하는 것을 동적 분석이라고 합니다.
예방접종 프로그램
바이러스를 표적으로 삼아 감염되었다고 생각하게 만듭니다.
행동 차단제
바이러스 백신 프로그램
관리적, 물리적, 기술적 방법을 통해 바이러스로부터 보호
스팸 감지
베이지안 필터링
서비스 거부 공격 (도스) (정상적인 활동처럼 보입니다)
특징
피해자의 네트워크 대역폭을 소비합니다.
피해자의 자원을 소비한다
분류
스머프 공격
ICMP 프로토콜의 결함 악용
프래글 공격
UDP 프로토콜 결함 악용
smurf와 Farggle은 프로토콜 결함을 악용하는 두 가지 방법입니다. 증폭된 네트워크를 사용하여 DoS를 실행하는 예
SYN 플러드 공격
TCP 연결의 3방향 핸드셰이크 활용
연결 대기열 제한을 초과했습니다.
눈물방울 공격
매우 작은 조각난 패킷을 전송하여 이 설계 결함을 악용합니다.
분산 서비스 거부 공격 (디도스)
싱크홀 라우팅은 DDOS를 처리하는 방법 중 하나입니다.
소프트웨어 보안의 효율성 평가
인증 및 인정
효과
모범 사례 관리, 운영 및 기술 보안 제어를 적용하여 연방 정보 시스템에 정보 보안 기능을 내장합니다.
지속적인 모니터링 프로세스 강화를 통해 정보시스템 보안현황에 대한 인식 유지
정보 시스템의 사용 및 운영으로 인해 발생하는 조직 운영에 대한 위험과 자산, 개인, 기타 조직 또는 국가에 대한 위험을 수용하는 것을 포함하여 고위 경영진이 결정을 내릴 수 있도록 중요한 정보를 제공합니다.
변경 사항 감사 및 로깅
정보 감사 기능
감사 절차는 비정상적인 활동을 감지하는 데 도움이 됩니다.
감사 수준과 감사 유형은 설치된 소프트웨어의 감사 요구 사항과 시스템에서 처리하거나 저장하는 데이터의 민감도에 따라 달라집니다.
시스템 리소스는 사용 가능한 경우 보호되어야 합니다.
로그 감사의 역할
기준선 설정의 필요성
다양한 서버 및 시스템의 성능
애플리케이션 기능과 운영 및 유지보수 문제
효과적인 침입 탐지
법의학 분석
다양한 법률 및 규정을 준수합니다.
정보의 무결성
애플리케이션은 처리된 내용과 처리될 것으로 예상되는 내용을 비교하거나 조정합니다.
합계 비교
일련번호 확인
정보의 정확성 (애플리케이션 제어)
입력 정확성 확인: 데이터 유효성 검사 및 유효성 검사는 적절한 애플리케이션에 통합되어야 합니다.
문자 확인: 입력 문자를 숫자, 문자 등 예상되는 문자 유형과 비교합니다.
범위 확인: 예약의 상한 및 하한을 기준으로 입력 데이터의 유효성을 검사합니다.
관계 확인: 입력 데이터를 기본 기록 파일의 데이터와 비교합니다.
타당성 확인 (합리성 검사): 입력 데이터를 예상 표준과 비교, 기타 형태의 무결성 검사
거래 한도: 입력된 데이터를 확인하고 거래 시 관리자가 설정한 한도와 비교합니다.
위험 분석 및 완화
위기 관리
위험 관리는 전체 프로젝트 수명주기에 걸쳐 진행되는 프로세스입니다.
위험 관리 프로세스에는 위험 계획, 식별, 분석, 모니터링 및 제어가 포함됩니다.
위험 식별은 프로젝트가 시작되기 전부터 시작되며 프로젝트가 성숙해짐에 따라 위험의 수가 증가합니다.
위험 문서화 프로세스에는 위험 완화 및 연속성 계획이 포함됩니다.
위험 감소 단계에서는 이벤트 발생 가능성을 줄일 수 있으며 위험 완화에는 비용이 발생하며 비용 편익 분석이 필요합니다.
연속성 계획 또는 사건 발생 시 또는 그 이전에 수행되는 일련의 활동 계획은 위험이 발생하기 전의 선제적 활동이거나 위험이 발생한 후의 활동일 수 있습니다.
위험 분석 및 완화 전략
SDLC 프로세스와 조직의 변경 관리 프로세스에 통합
표준화된 위험 평가 방법을 사용하고 이해관계자에게 위험을 보고합니다.
평가, 변경 관리 및 지속적인 모니터링 중에 식별된 약점을 추적하고 관리합니다.
시정 조치 - 패치 관리
기본 설정
연구
지문과 디지털 서명의 MD5 비교
파일 무결성 검사
평가 및 테스트
테스트 환경에서 패치 테스트
완화("롤백")
배포("롤아웃")
이제 덜 중요한 시스템에 배포됨
검증, 보고 및 로깅
패치 업데이트 로그, 기록 및 보관
테스트 및 확인
위험 통제 조치를 구현하려면 테스트가 필요합니다.
보안 평가자 또는 기타 독립 기관이 확인이 필요한 취약점을 확인하고 확인합니다.
대규모 조직에서
독립적인 검증 및 검증(IV&V) 팀이 보안 문제 및 취약점이 해결되었는지 확인합니다.
개발자와 시스템 소유자는 독립 단체의 동의 없이 위험이 완화되었다는 선언을 승인할 수 없습니다.
코드 서명
코드 서명은 코드의 무결성을 보장하고, 해당 코드를 개발한 사람을 식별하고, 개발자가 해당 코드를 사용하려는 목적을 결정하는 데 사용되는 기술입니다.
코드 서명 인증서와 디지털 인증서는 사용자가 누출된 파일이나 애플리케이션을 다운로드하는 것을 방지하는 데 도움이 됩니다.
코드가 서명되면 코드의 진위 여부를 확인하고 개발자가 아닌 다른 사람이 코드를 수정했는지 감지할 수 있습니다.
코드 서명은 다음 용도로 사용됩니다.
코드 조각이 수정되지 않았는지 확인하세요.
코드 소스 식별(개발자 또는 서명자)
특정 목표를 위해 코드를 신뢰할 수 있는지 확인
코드 서명은 세 부분으로 구성됩니다.
인감, 디지털 인증서 및 고유 식별자
코드 서명으로 할 수 없는 것
코드 조각에는 보안 취약점이 없다고 보장되지 않습니다.
앱이 실행 중에 안전하지 않거나 변경된 코드(예: 작동할 수 없는 플러그인)를 로드하지 않는다는 보장은 없습니다.
DRM(디지털 권한 관리)이나 복사 방지 기술이 아닙니다.
회귀 및 승인 테스트 회귀 및 승인 테스트
테스트 고려 사항
신속하게 버그 테스트
패치의 부작용 관찰
각 버그 수정에 대한 회귀 테스트 계획 작성
두 개 이상의 테스트가 유사한 경우 어느 테스트가 덜 효율적인지 판단하고 폐기합니다.
테스트 계획을 식별하고 이를 지속적으로 제공 및 문서화합니다.
디자인보다는 기능적인 문제에 대한 고민
크기에 관계없이 데이터의 변경 사항을 확인하고 그에 따른 손상을 찾아냅니다.
프로그램 메모리에 대한 변경 사항의 영향 추적
회귀 테스트
가장 효과적인 접근 방식은 새 버전이 빌드될 때마다 실행할 수 있는 표준 테스트 사례 풀을 기반으로 하는 테스트 라이브러리입니다.
테스트 라이브러리를 구축할 때 어려운 점은 어떤 테스트 사례를 포함할지 결정하는 것입니다.
자동화된 테스트 및 테스트 케이스에는 모두 테스트 라이브러리에 속하는 경계 조건 및 타이밍도 포함됩니다.
자동화된 테스트가 효과적이려면 복잡한 테스트 방법론의 일부로 충분한 변수를 통합할 때 비용 효과적이고 효율적입니다.
승인 테스트 (승인 테스트)
시스템이 승인 기준을 충족하는지 확인하고 고객이 시스템 승인 여부를 결정할 수 있도록 하기 위해 수행되는 공식 테스트입니다.
민첩한 개발에서 수용성 테스트/기준은 일반적으로 비즈니스 고객이 설정하고 비즈니스 도메인의 언어로 설명됩니다.
SwA(소프트웨어 보증) 단계 (개발 또는 구매한 소프트웨어가 보안 요구 사항을 충족하는지 확인 SAMM 소프트웨어 보증 성숙도 모델 SAMM은 조직의 특정 위험에 맞게 안전하고 맞춤화된 소프트웨어를 설계하는 데 사용되는 프레임워크입니다.)
기획단계
소프트웨어 서비스 또는 제품에 대해 식별된 요구 사항을 얻고, 잠재적인 대체 소프트웨어 방법을 식별하고, 대체 위험을 식별합니다.
개발 요구사항은 작업 명세서에 포함되어 있습니다.
인수 전략을 수립하고 다양한 소프트웨어 인수 전략과 관련된 위험 식별을 포함합니다.
평가기준 및 평가계획 수립
입찰단계
작업 설명, 제안자 설명, 이용 약관, 사전 자격 및 인증이 포함된 제안 요청서(RFP)를 작성/발행합니다.
제안 요청(RFP) 또는 입찰 초대(ITT)에 응답하여 공급업체가 제출한 제안을 평가합니다.
이용 약관 변경을 포함한 계약 협상 완료
모니터링 및 승인 단계
이 단계는 주로 공급업체의 작업을 모니터링하고 계약에 합의된 대로 최종 서비스 또는 제품 배송을 수락하는 것입니다.
도급업무 일정 수립 및 동의
변경 제어 절차 구현
소프트웨어 결과물 검토 및 수락
후속 단계
지속(위험 관리, 보증 사용 사례 관리 및 변경 관리 포함)
폐기 및 오프라인
후속 단계에서는 지속적인 보증 사용 사례 분석을 통해 소프트웨어 위험을 관리하고 위험을 줄이기 위해 조정해야 합니다.
보안 전문가는 기업 전체에 잘 문서화된 SwA 정책 및 절차가 있는지 확인해야 합니다.
예상치 못한 오류로 인해 잘못된 작업이 발생함
고의로 악성코드를 삽입하는 행위
중요하거나 민감한 정보를 훔칩니다.
개인정보 도용
제품 변경, 에이전트 삽입 또는 정보 파기