#윈도우 11 인터페이스 최적화
Explore tagged Tumblr posts
canyoumeetinfo-blog · 8 years ago
Text
응용프로그램 보안
New Post has been published on http://dreammoney.info/%ec%9d%91%ec%9a%a9%ed%94%84%eb%a1%9c%ea%b7%b8%eb%9e%a8-%eb%b3%b4%ec%95%88/
응용프로그램 보안
 응용프로그램 보안
(Application Security)
  SECTION 1 정보보안과 위험관리 정의와 주요개념
  Key Factor
보안성을 강화하기 위한 시스템 생명주기와 개발방법론에 대해 알아본다.
  소프트웨어 개발 환경
‣오늘날의 소크트웨어 개발환경에서 보안이슈는 응용프로그램에서 발견되는 취약점이다. 이로 인해 다양한 제로데이 취약점 공격이 발생하고 있다. 또한 최근에는 오픈소스에 대한 찬반양론이 엇갈리면서 시스템의 안정성과 관련한 정보도 중요시 보고 있다.
  오픈소스
‣소프트웨어의 소스코드가 사용자의 상황에 맞게 변경될 수 있는 형태로 배포되는 오픈소스는 리누스 법에 근거한 소스의 개방을 표하는 찬성의견과 오픈소스의 취약점을 발견하고 이를 공개하지 않고 악용 또는 협박하는데 이용할 수 있다는 반대의견이 양립해 있다. 이에 완전공개, 부분공개의 의견도 나오고 있다.
  응용프로그램 개발 보안 및 통제
‣소프트웨어 개발이 직면한 높은 비용, 낮은 품질 같은 가장 큰 문제를 소프트웨어 공학과 공학원칙을 적용해 개발 환경의 신뢰성을 평가가 필요하다. 소프트웨어 개발 프로세스 성숙도를 1991년 SEI(Software Engineering Institute)에서 SW-CMM을 발표한다.
1) 소프트웨어 능력 성숙도 모델(CMM)
• 소프트웨어 개발 조직이 높은 품질의 소프트웨어를 일관성 있고, 예측 가능하게
생산하는 능력을 정량화하고자 하는 시도로 개발되었음
• 성숙도(Maturity Level)와 핵심 프로세스 영역(Key Process Area, KPA), 목표(Goal), 공통 수행 항목(Common Features), 주요 실천 항목(Key Practices)로 구성되어 있음
• 초기(Initial), 반복(Repeatable), 정의(Define), 관리(Managed), 최적화(Optimized)의 5 단계로 구분됨
  시스템 개발 생명 주기 ( System Development Life Cycle )
1) 컴퓨터 시스템 생명 주기 ( life Cycle )
➀ 기본 개념 – 컴퓨터 시스템의 생명주기란 응용 시스템의 타당성 조사로부터 개발, 유 지보수, 폐기에 이르는 전 과정을 하나의 주기로 보고, 이를 효과적으로 수행하기 위한 방법론(Methodology)을 모델화한 것을 의미합니다. 생명주기는 응용 시스템의 개발 목 적 및 환경 등에 따라 다양하게 존재합니다.
2) 생명주기를 사용함으로써 얻을 수 있는 장점
➀ 응용시스템 개발에 필요한 비용을 산정하고, 대략적인 개발 계획을 수립할 수 있음
➁ 개발 진행 상황에 대한 명확한 파악이 가능함
➂ 문서 산출물을 통해 프로젝트 관리를 지원함
➃ 용어에 대한 표준을 제공함
  생명주기 모델(Life Cycle Model)
컴퓨터 시스템의 생명주기에는 폭포수 모델(Waterfall Model) 및 프로토타이핑 모델(Prototyping Model), 나선형 모델(Spiral Model) 등이 있으며, 기본적으로 다음과 같은 5가지의 단계로 구성되어 있습니다.
<v:f eqn=”if lineDrawn pixelLineWidth 0″></v:f><v:f eqn=”sum @0 1 0″></v:f><v:f eqn=”sum 0 0 @1″></v:f><v:f eqn=”prod @2 1 2″></v:f><v:f eqn=”prod @3 21600 pixelWidth”></v:f><v:f eqn=”prod @3 21600 pixelHeight”></v:f><v:f eqn=”sum @0 0 1″></v:f><v:f eqn=”prod @6 1 2″></v:f><v:f eqn=”prod @7 21600 pixelWidth”></v:f><v:f eqn=”sum @8 21600 0″></v:f><v:f eqn=”prod @7 21600 pixelHeight”></v:f><v:f eqn=”sum @10 21600 0″></v:f><o:lock aspectratio=”t” v:ext=”edit”></o:lock><w:wrap type=”square”></w:wrap>
      초기화 : 시스템의 필요성을 정의하고, 목적을 문서화하는 단계
개발 및 획득 : 시스템의 분석, 설계, 구입, 개발, 구현 등의 작업을 수행하는 단계
구현 : 개발된 시스템을 테스트, 결과에 따라 시스템을 보완하거나 설치하는 단계
운영과 관리 : 시스템 본연의 목적을 수행하는 단계로써 하드웨어 및 소프트웨어의
추가와 기능 변경, 개선 등의 작업이 수행됩니다.
폐기 : 업무를 정리하거나, 새로운 시스템을 도입함에 따라 기존의 컴퓨터 시스템을
폐기하는 단계
  폭포수 모델(Waterfall Model)
폭포수 모델(Waterfall Model)은 Host를 기반으로 한 고전적 라이프 사이클 모델.
  <v:f eqn=”if lineDrawn pixelLineWidth 0″></v:f><v:f eqn=”sum @0 1 0″></v:f><v:f eqn=”sum 0 0 @1″></v:f><v:f eqn=”prod @2 1 2″></v:f><v:f eqn=”prod @3 21600 pixelWidth”></v:f><v:f eqn=”prod @3 21600 pixelHeight”></v:f><v:f eqn=”sum @0 0 1″></v:f><v:f eqn=”prod @6 1 2″></v:f><v:f eqn=”prod @7 21600 pixelWidth”></v:f><v:f eqn=”sum @8 21600 0″></v:f><v:f eqn=”prod @7 21600 pixelHeight”></v:f><v:f eqn=”sum @10 21600 0″></v:f><o:lock aspectratio=”t” v:ext=”edit”></o:lock>
<w:wrap type=”square”></w:wrap>
  [폭포수 모델(Waterfall Model)]
  1) 특징
➀ 폭포에서 내려오는 물이 아래로만 떨어지듯, 각 단계가 단계별 작업 순서에 의해 체계 적이고 순차적으로 진행됨
➁ 구현 전에 요구사항을 분명히 명시하며, 각 단계가 끝날 때마다 과정의 끝을 알리고, 그 다음 단계로 진행함
➂ 개념 정립에서 구현까지 하향식 접근 방법을 사용함
2) 폭포수 모델이 효율적으로 사용될 수 있는 응용 시스템 개발 환경
➀ 규모가 작은 신규 개발이나, 유지보수성 프로젝트
➁ 요구사항이 잘 정의되어 있으며, 이해하기 쉬운 프로젝트
➂ 유사 프로젝트 경험이 풍부한 프로젝트
➃ �� 전문가가 사용할 시스템을 개발하는데 적합함
3) 장점과 단점
• 장점
➀ 프로젝트 진행 과정을 세분화하여 관리하기가 용이함
➁ 가장 오래되고 폭 넓게 사용되었기 때문에 구현 사례가 풍부함
➂ 전체 과정이 이해하기 쉬움
➃ 기술적 위험이 적고, 경험이 많아 비용 및 일정 예측이 용이함
➄ 문서화 중심이기 때문에 유지보수에 용이함
• 단점
➀ 초기에 응용 시스템의 요구사항을 구체적으로 정의하는 것이 매우 어려움
➁ 개발자들이 프로젝트(응용 시스템)가 성공적으로 완성됐다고 느낄 때 최종 사용자의 인수 테스트를 수행하므로 시스템의 중요한 문제점이 개발 후반부에 발견될 가능성이 높으며 이를 보완하는데 많은 추가 비용이 발생할 수 있음
➂ 최종 사용자가 응용 시스템을 인수한 후, 응용 시스템의 결함이나 기능 변경과 같은 요구는 유지보수 시에 수행됨
➃ 사용자가 정확한 요구를 내기 어려우며, 문서 중심이기 때문에 문서화에 치우칠
가능성이 높음
  나선형 모델(Spiral Model)
‣나선형 모델(Spiral Model)은 개발 단계에 위험 분석(Risk Analysis)을 추가한 개념으로,
시스템을 개발하면서 생기는 위험을 관리하고 최소화하는 것이 주목적이며 계획, 평가, 개발을 나선 모양의 주기로 반복 수행합니다.
<v:f eqn=”if lineDrawn pixelLineWidth 0″></v:f><v:f eqn=”sum @0 1 0″></v:f><v:f eqn=”sum 0 0 @1″></v:f><v:f eqn=”prod @2 1 2″></v:f><v:f eqn=”prod @3 21600 pixelWidth”></v:f><v:f eqn=”prod @3 21600 pixelHeight”></v:f><v:f eqn=”sum @0 0 1″></v:f><v:f eqn=”prod @6 1 2″></v:f><v:f eqn=”prod @7 21600 pixelWidth”></v:f><v:f eqn=”sum @8 21600 0″></v:f><v:f eqn=”prod @7 21600 pixelHeight”></v:f><v:f eqn=”sum @10 21600 0″></v:f><o:lock aspectratio=”t” v:ext=”edit”></o:lock><w:wrap type=”square”></w:wrap>
   [나선형 모델(Spiral Model)]
  1) 특징
➀ 기존의 폭포수 모델(Waterfall Model)과 프로토타이핑 모델(Prototyping Model)의 장 점을 취합하여 개발한 모델임
➁ 위험의 최소화를 위해 요구사항에 근거한 위험을 정의하고, 이를 감소시키기 위한 통 제 활동을 수행함
➂ 오류를 제거하면서 대안을 마련하여 평가하고, 생명주기의 초기 상태에서 불확실한
요구사항을 구체화함
➃ 나선을 돌면서 점진적으로 완벽한 시스템을 개발함
➄ 비용이 많이 소요되고, 시간이 오래 걸리는 대형 시스템에 적합한 모델임
2) 장점과 단점
• 장점
➀ 기존의 소프트웨어 생명주기 모델의 장점을 선택적으로 수용할 수 있도록 설계되었 음
➁ 정확한 사용자 요구사항 관리를 통해 프로젝트 개발의 완전성을 부여할 수 있음
➂ 위험 위주의 접근 방식을 채택하여, 기존 생명주기 모델의 약점을 보완하였음
➃ 문서화의 충실로 유지보수가 용이함
➄ 품질확보가 용이함
➅ 대규모 시스템에 적합하며, 하드웨어와 소프트웨어로 구성되는 시스템 개발에도
적용이 가능함
• 단점
➀ 프로젝트 개발에 많은 시간이 소요됨
➁ 새로운 접근 방법으로, 많이 사용되지 않았기 때문에 아직까지는 충분한 검증이 미 흡한 상태임
➂ 모델이 복잡하여, 프로젝트 관리를 어렵게 만들 수 있음
➃ 위험 요소의 식별과 해결을 위주로 하는 모델이므로, 개발자의 위험 요소 식별과 해 결 능력에 의존함
➄ 다수 고객을 상대로 하는 상용 제품의 개발에는 부적합함
  반복 모델(Iterative Model)
1) 시스템 개발 영역을 반복하여 수행할 수 있는 미니 프로젝트(Mini-Project)로 분할하며, 미니 프로젝트별로 독립적인 반복계획을 수립하여 수행함
2) 반복 초기에는 검증이 안 된 기술영역이나, 혹은 복잡하고 어려운 구현 로직을 포함한 영역의 개발을 우선적으로 수행함
3) 각각의 반복 영역은 실행 가능한 수준으로 개발하며, 이�� 수행되는 후속 반복 작업을 통해 점진적으로 최종시스템의 모습을 갖춰 감
4) 각각의 반복 작업이 종료되면 시스템의 위험 요소를 평가/분석함으로써 위험을 최소화 하고, 필요 시 고객에게 제공하여 실제로 적용함
    [반복 모델(Iterative Model)]
  기타 모델
1) RAD 모델(Rapid Application Development Model)
• 우수한 소프트웨어 개발 도구를 활용하여, 전통적인 개발 방법보다 더 적은 시간과 비 용으로 더 좋은 소프트웨어를 개발하는 방법
• 최종 사용자 요구사항을 완전히 이해하고, 프로젝트의 범위를 명확히 설정한다면 신속 한 개발 및 다양한 기능의 구현이 가능함
• 기술적 위험이 높은 응용 시스템 개발에는 부적합함
  SECTION 2 응용프로그램 환경에서의 보안 위협 및 대책
  Key Factor
  응용프로그램 환경에서의 위협
1) 버퍼 오버플로우 : 소프트웨어 개발 및 프로그래밍 시 발생하는 가장 오래되고 일반적 인 문제로서 프로그램이 자신이 통제하는 버퍼 길이보다 많은 양의 데이터로 버퍼를 채울 때 발생. 이때 프로그램 실행 경로를 변경하여 관리자 권한 등 특수 권한을 획득하기 위해 악성코드 등을 삽입할 수 있음.
2) 시티즌 프로그래머 : 자신이 사용할 유틸리티를 스스로 개발하는 개발자를 시티즌 프로그래머라고 함. 최근 스마트폰 앱 개발이 1인 개발자 방식으로 진행되어 많은 시티즌 프로그래머가 양산되고 있음. 별도의 프로그램에 대한 관리 감독이 없이 한명의 사용자가 응용프로그램과 프로세스에 대한 완전한 통제를 소유하게 되어 직무분리를 위반할 수 있음.
3) 은닉채널 : 인가되지 않은 관찰자가 어떤 정보가 존재하는지 추측할 수 있도록 하는 정보의 흐름. 은닉채널은 저장채널과 타이밍 채널로 구분할 수 있음.
4) 잘못된 형태의 입력 공격 : SQL Injection 같은 웹사이트의 입력창에 입력을 시 데이터베이스에 접근할 수 있는 취약점.
5) 메모리 재사용 : 응용프로그램은 메모리 할당을 한 후 릴리즈하여 다른 프로세스에 메모리를 할당하는 과정에서 잔여 정보가 남아 다른 프로세스가 이를 읽을 수 있는 경우, 보안상 문제가 발생할 수 있음.
6) 실행 가능한 콘텐츠/모바일 코드 : 원격으로 로컬시스템에 전송되어 실행되어지는 소프트웨어의 취약점
7) 사회공학 : 크게 사용자 인터페이스 측면과 악성 소프트웨어의 사용으로 나뉠 수 있음.
8) TOC/TOU(Time of Check/Time of Use) : 시스템의 보안 기능이 변수의 내용을 검사하는 시간과 해당 변수가 실제로 사용되는 시간 사이에 발생하는 공격.
9) 트랩도어/백도어
10) 살라미 공격(Salami Attack) : 사람들이 눈치채지 못할 정도의 적은 금액을 빼내는 컴퓨터 사기 수법.
11) 데이터 디들링(Data Diddling) : 원시 서류 자체를 위변조하여 끼워 넣거나 바꿔치기 하는 수법.
  응용프로그램 환경에서의 보안 대책
1) 보안커널
2) 프로세서 특권 단계
3) 버퍼 오버플로어에 대한 보안 통제
4) 메모리 보호
5) 은닉채널 통제
6) 암호화
7) 패스워드 보호 기술
8) 부적절한 통제 밀도
9) 환경에 대한 통제
10) 백업통제
11) 소프트웨어 포렌식
12) 모바일 코드 통제
13) 프로그래밍 언어에서의 지원
SECTION 3 악성 코드 (Malware)
  Key Factor
악성 코드
1) 악성코드의 유형
① 바이러스 : 자신의 변경된 버전을 포함하도록 다른 프로그램을 변경하는 프로그램으로 재생산과 유포를 위해서 사용자의 행동을 유도함. 감염 형태에 따라 파일, 부트섹터, 시 스템, 동맹, 이메일, 멀티퍼타이, 매크로, 스크립트 바이러스로 나뉨
② 웜 : 네트워크를 통해 자신을 복제하고 전파할 수 있는 악성프로그램. 가른 프로그램 에는 영향을 주지 않지만 특정 컴퓨터에 숨어 있다가 네트워크를 통해 연결된 다른 컴 퓨터에 침투해 감염시킴. 독립된 프로그램으로 바이러스에 비해 확산속도가 빨라 단시 간 내에 네트워크에 치명타를 입힐 수 있음.
③ 혹스(Hoax) : 남을 속이거나 장난을 친다는 뜻. 일명 가짜 바이러스임. 흔히 메일을 통해 공신력 있는 기관을 사칭하거나 복잡한 기술 용어들을 나열해 가면서 사용자의 컴 퓨터 시스템에 위엄이 있음을 경고. 또는 정상적인 윈도우 파일을 바이러스라 속여 이 를 찾아 삭제하라는 내용을 보내기도 함.
④ 트로이 : 한 가지 일을 수행하는 척하면서 또 다른 비인가 된 일을 수행하는 프로그램 으로 사회공학 기법을 활용함.
⑤ RAT(Remote Access Trojan) : 시스템이 설치되고 동작한 이후에 원격으로 설치되도 록 설계된 프로그램. 바이러스, 웜, 트로잔의 플래이로드 형태로 유포해서 감염된 컴퓨 터를 봇넷 일부로 만들어 스팸 발송 및 DDoS 공격에 활용
⑥ 디도스 좀비 : RAT 또는 봇넷을 이용하여 디도스 공격을 수행
⑦ 논리 폭탄 : 조용하게 특정 조건을 모니터링하다가 특정조건을 만족한 순간 실행됨.
⑧ 스파이웨어/애드웨어 : 사용자의 적절한 동의가 없이 설치되거나 컴퓨터에 대한 사용 자의 통제 권한을 침해하는 프로그램
⑨ 프랭크(Prank) : 이스터 에그와 같이 재미를 위해 만들어진 프로그램
악성코드로부터 보호
1) 예방대책 : 첨부파일 클릭금지, 표준 프로그램 사용, 스크립트 비활성화, 이메일 오픈시 주의, 스캐너 사용, 전수검사 필요
2) 안티바이러스 소프트웨어 활용 : 스캐너, 활동 모니터, 변화 감지
3) 안티바이러스 정책 수립
  SECTION 4 감사, 보증 메커니즘
  Key Factor
응용프로그램의 개발 후 인증 및 승인, 환경 변화에 의한 변경 관리 및 구성 관리
  인증
1) 운영환경 내 정보시스템의 보안 준수 사항에 대한 기술적 평가
2) 시스템이 기능적 요구사항을 만족여부 사용자나 관리자의 승인
3) 새로운 취약점에 대한 보증은 할 수 없음.
4) 기술적 대책 ��에도 관리적, 물리적 대책에도 의존하기 때문에 인증만으로 판별 불가능
  인가
1) 인증 정보를 검토, 정보시스템이 운영되도록 공식적으로 승인
2) 임원진의 공식적 승인
3) NIST SP 800-37 Guide for the Security Certification and Accreditation of Federal Information Systems의 인증&인가 프로세스, 절차 문서화
  변경 관리
1) 소프트웨어 변경사항 발생시 효과적으로 관리하는 것에 중점.
2) 품질 보증이 다루어져야 함.
3) 제출/승인/테스트/기록에 대한 절차가 존재, 이상 발생시 원상태로 복구되는 계획이 있어야 함.
4) 패치 관리에도 변경관리가 적용되어야 함.
  구성 관리
1) 제반사항(매뉴얼, 업무절차 등)에 대한 변경을 효과적 관리위해 필요
  SECTION 5 데이터베이스
  Key Factor
조직에서 보호하고자 하는 가장 궁극적인 자산은 데이터이며, 이를 가장 효율적으로 관리할 수 있는 기술은 데이터베이스로서 조직에서 가장 중요한 보호 자산이다.
  DBMS 아키텍처
▸데이터베이스를 관리하기 위해 필요한 수행과정인 데이터의 추가, 변경, 삭제, 검색 등의 기능을 집대성한 소프트웨어 패키지. 계층형과 네트워크형, 그리고 관계형으로 나눠지며 최근에는 관계형이 DBMS의 주류를 이루고 있음.
1) DBMS의 구성요소 : DB 엔진, 하드웨어 플랫폼, 응용프로그램, 사용자
2) DB 모델 : 데이터 간의 관계를 설명하고 데이터를 조직화하는 프레임워크로 트랜잭션 Persistence, 장애 결함 및 복수, 셰어링, 보안통제의 기능을 가짐.
3) HDBMS : 가장 오래된 DB모델, 트리구조로 부모/자식 관계로 구축, 단일 트리 구조만 가능함, 브랜치 간 링크와 여러 계층 간 링크가 안됨
4) NDBMS : HDBMS 확장된 형태, 2개의 레코드 타입 사이의 관계(Set Type)를 통해 좀 더 빠른 쿼리를 가능케 함.
5) RDBMS : 가장 많이 사용하고 있는 데이터베이스 모델, 테이블과 테이블간의 관계를 키를 통해서 연결하는 데이터베이스를 말함.
6) SQL
7) OODBMS
8) OR-DBMS
  DB 인터페이스 언어
1) ODBC
2) JDBC
3) XML
DW(Data Warehousing)
1) 데이터 웨어하우스(Data Warehouse)란 조직의 각 사업부문에서 수집된 모든 데이터에 대한 중앙 창고의 개념으로, 다양한 원천(Source)에서 여러 방법으로 표시되어 있는 데이터를 일관된 형태로 변환하고 추출하는 과정을 통해 주제 중심적이고, 통합적이며, 시간성을 가지는 비휘발성으로 관리하는 것을 의미함.
2) 데이터 웨어하우스의 목표는 관리자의 의사결정을 지원하기 위한 것임
3) 데이터 마트 : DW의 소형 버전, 특정 부서/주제에 대한 정보만 포함
4) 구축 프로세스 : 민감한 데이터에 대한 기밀성이 보장되고, 매우 크고, 고가용성, 고무결성을 보장하는 DB에 모든 데이터를 입력함.
5) 사용자 그룹의 정의 , 각 그룹이 접근할 수 있는 데이터 정의, 사용자의 보안 책임/절차 정의
6) DB서버의 물리적/논리적 경계에 대한 보안
7) 백업, BCP/DRP
8) 메타데이터
8) OLAP(Online Analytical Processing)
9) 데이터 마이닝 : 방대한 양의 데이터 속에서 쉽게 드러나지 않는 유용한 정보를 찾아내는 과정으로 데이터 간의 숨겨진 관계나, 너무 복잡하여 기존의 통계학적 방법을 통해 뽑아 낼 수 없는 관계를 찾아내고 이 관계를 바탕으로 앞날을 예측하는 기술을 의미
데이터베이스 취약점 및 위협
1) DBMS의 민감한 정보에 대한 기밀성을 유지하고 데이터의 무결성을 유지하고자 함.
2) DBMS에 대한 주요 위협 : 어그리게이션, 바이패스 공격, DB뷰를 통한 접근 통제우회, 동시성 저해,데이터 오염, 데드락, 서비스 거부, 부적절한 정보 변경, 추론, 데이터 가로채기, 쿼리 공격, 서버에 대한 접근, TOC/TOU, 웹 보안, 비인가된 접근
DBMS 통제
1) 락(Lock) 통제
① 한번에 한 사용자만이 특정 데이터에 대한 작업 수행 가능
② AICD(원자성, 동시성, 독립성, 견고성)
2) 기타 다른 DBMS 접근통제 : 사용자 레벨에서 윤영에 대한 사용 제약을 둠
3) 뷰 기반의 접근통제 : 관리자가 사용자별로 뷰를 통제하여 논리적으로 민감한 정보들이 비인가 된 사용자들에게 숨겨지도록 함
4) 증여/회복 접근통제 : Grant 권한을 가진 사용자는 다른 사용자들에게 권한을 부여, 회수할 수 있음.
5) 데이터 오염에 대한 통제
6) OLTP : 대량, 고속의 온라인 트랜잭션 처리를 전담하는 시스템을 의미. 동시성과 원자성 제공
지식관리
1) 기업정보 : 몇 가지 서로 다른 소스로부터 획득될 수 있는 조직에 관한 모든 정보, 데이터, 지식
2) KDD(Knowledge Discovery in Database) : 데이터 내에서 유효하고 유용한 패턴을 식별해 내기 위해 사용되는 수학적, 통계적 방법. 인공지능 기술 사용.
3) KM(Knowledge Management) 보안 통제
  SECTION 6 웹 응용프로그램 환경
  Key Factor
  웹 응용프로그램에 대한 위협과 보호
1) 위협 : SQL Injection, XSS(Cross Site Script), 파일 업로드, CSRF/XSRF(Cross Site Request Forgery)
2) 보호대책
1.1.1.1.1.1.1. 웹 서버 보안 보증할 수 있는 사인 오프 프로세스 구성
1.1.1.1.1.1.2. 웹 서버 운영체제 보안 견고히 구성
1.1.1.1.1.1.3. 배치 전 웹 및 네트워크 취약점 스캔 시행
1.1.1.1.1.1.4. IDS 및 IPS 점검
1.1.1.1.1.1.5. 애플리케이션 프락시 파이어월 사용
1.1.1.1.1.1.6. 불필요한 문서 및 라이브러리 제거
1.1.1.1.1.1.7. 관리자 인터페이스 관리
1.1.1.1.1.1.8. 입력값에 대한 검증
1.1.1.1.1.1.9. 쿠키의 암호화
1.1.1.1.1.1.10. 쿠키, 세션 값, URL, 데이터 랜덤 값 사용
1.1.1.1.1.1.11. Building Secure Software
      자료 : 정보보호전문가의 CISSP 노트
0 notes