달력

8

« 2020/8 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  


 

 

 

Availability(가용성, 사용성, 편의성)

·         서비스 부인 공격(DOS)으로부터 시스템을 보호해야 합니다.

·         정당한 권한을 가진 사용자는 필요할 언제나 자원에 접근하여 사용 가능해야 합니다.

·         만족스럽게 안정적으로 동작해야 합니다.

·         , 정보에 대한 접근과 사용이 적시 확실하게 보장되는 상태를 말하며, 정보 또는 정보 시스템이 원하는 때에 제대로 제공 되는 의미합니다.

·         불편하고 만족스럽지 못한 것은 보안이 아닙니다.

·         보안을 강화하면서 불편하다는 애기는 적절하지 못한 표현입니다.

·         보안을 스스로 허무는 가장 이유이기도 합니다.

 

 

 

 

 

 

Availability 전환점

구분

설명

아이폰 도입

·         PDA 사용

·         컴퓨터를 옮겨 오자가 목적

2005 아이폰 도입

·         쓰기 쉬워야 한다 (전력, 입력, 안전등)

·         디자인적으로 예쁘고 아름다운 추구

 

 

 

 

 

 

Availability 관련 이슈

·         DDOS

·         국내 인터넷 뱅킹/결제

·         외울 없는 복잡하고 패스워드

·         CPU 성능 집아 먹는 RSA연산

·         무슨 기능을 하는지 없는 보안 제품 메뉴

·         사용되지 않은 보안기능들

·        

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 

Integration(무결성)

·         정보가 불법적으로 변경되지 않도록 보호하는 것입니다.

·         자원이 훼손되거나 변경되지 않도록 하는 것입니다.

·         온전히 하나가 되는 , 속이 같고 처음과 끝이 같고, 정직함을 의미합니다.

·         데이터 네트워크 보안에 있어서 정보가 인가된 사람 의해서 만이 접근 또는 변경 가능하다는 확실성을 나타냅니다.

·         데이터 무결성, 균일한 보안, SI, 여러가지 재료를 연동하여 빈틈없는 하나 만드는 것을 의미합니다.

·         하나로 만드는

·         , 합법적인 주체만 수정할 있도록 보호하는 서비스 구현해야 합니다.

 

 

 

 

Integration 관련 이슈

·         제품 놓고 적용하지 않기

·         서비스와 보안이 무관

·         보안 제품간 무관

·         파라미터 변조 공격

 

 

 

 

 

Integration 보장 방법

·         연결형 무결성 서비스와 비연결형 무결성 서비스가 있습니다.

·         주로 해시 함수나 디지털 서명, 암호 알고리즘을 이용하게 됩니다.

 

구분

설명

연결형 무결성 서비스

·         메시지 스트림을 대상

·         불법 변경 보호

·         서비스 부인 장비

비연결형 무결성 서비스

·         개인 메시지를 대상

·         불법변경 보호

 

 

Posted by codedragon codedragon

댓글을 달아 주세요



 

보안의 3요소 - CIA

·         컴퓨터 보안의 주요 관심 대상은 비밀성, 무결성, 가용성에 대한 요소입니다.

·         정보를 적합한 사람들이 접근하여 (기밀성), 정보의 비정상적인 변경 없이 (무결성), 정보를 사용하기로 약속한 기간과 시간에 사용 가능하게(가용성)하는 것입니다.

 

Confidentiality

·         기밀성, 비밀성

·         접근 제한, 장소 제한, 암호화

·         사무실 옆을 지나가면서 안을 없는

Integrity

·         무결성, Consistency(일관성)

·         정직, 시작과 같은

Availability

·         가용성

·         operate satisfactory(만족 스럽게 동작)

·         기대하는 것에 모자라지 않게 동작하는

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

소프트웨어에 주목 이유( 소프트웨어인가?)

·       소프트웨어는 암호, 접근제어, 프로토콜 만큼이나 중요합니다.

·       실제로 모든 정보보안은 소프트웨어에서 구현됩니다.

·       만약 소프트웨어가 공격받기 쉽다면 보안도 쉽게 뚫리게 됩니다.(암호알고리즘, 접근제어, 프로토콜등이 강력한 것과는 무관합니다.)

 

 


Posted by codedragon codedragon

댓글을 달아 주세요

   

Registry Quick Find Chart

   

   

목차

common locations in the Windows and Windows Internet-related registries where you can find data of forensic interest.

• NTUSER.DAT Information on page 2

• SAM Information on page 19

• SECURITY Information on page 21

• SOFTWARE Information on page 21

• SYSTEM Information on page 28

   

   

   

   

직접 다운받기

Registry_Quick_Find_Chart.pdf

 

Posted by codedragon codedragon

댓글을 달아 주세요

   

보안 소프트웨어

  • 소프트웨어 공학에서는 프로그램이 의도한 행위을 수행한다는 것을 보장하도록 노력
  • 보안 소프트웨어 공학에서는 의도한 행위을 수행하고 그 이외에는 수행하지 않도록 요구
  • 절대적으로 보안적인 소프트웨어는 불가능
  • 절대적인 보안도 거의 불가능
  • 위기를 어떻게 관리할 수 있을 것인가가 중요
  • 프로그램 결함은 의도하지 않은 것이 대부분이며 보안적 위험를 발생시킵니다.

   

   

주요 결함 3 항목

다른 많은 결함들이 발생할 수 있지만 가장 일반적인 3가지 결함 항목입니다.

   

  • 버퍼 오버플로우(스택 파괴)
  • 불완전 중재
  • 경주 상황

'Security > SecureCoding' 카테고리의 다른 글

소스코드 취약점 분석 방법  (0) 2015.03.21
SQL Injection-SQL 삽입공격 역사  (0) 2015.03.17
보안 소프트웨어  (0) 2015.03.14
프로그램 결함  (0) 2015.03.13
소프트웨어 보안 이슈  (0) 2015.03.12
Software 복잡도와 보안  (0) 2015.03.09
Posted by codedragon codedragon

댓글을 달아 주세요

   

   

프로그램 결함

  • 오류(error)는 프로그램을 오동작 하게 합니다.
  • 오류는 부정확한 상태를 야기합니다. -> 결점(fault)
    • 결점은 프로그램 내부로 한정됨
  • 결점은 실패(failure)를 야기하며 이로 인하여 시스템은 예상된 동작으로부터 멀어져 부정확한 동작을 수행하게 됩니다.
    • 실패는 외부에서 관찰됨

   

   

   

프로그램 결함 예

단계

설명

1

프로그램은 오류를 가지고 있습니다.

2

오류는 결점을 야기합니다. (내부적으로)

3

부정확한 내부 상태를 야기합니다.

4

만약, 결점이 발생하면 이는 실패를 야기할 수도 있습니다.

5

프로그램은 부정확한 동작을 수행하게 됩니다.(외부적으로)

이렇게 오류에서 야기되어 실패이어지는 일련의 용어들을 결함(flaw)으로 일반화 할 수 있습니다.

   

char array[10];

for(i = 0; i < 10; ++i)

    array[i] = 'A';

array[10] = 'B';

   

'Security > SecureCoding' 카테고리의 다른 글

SQL Injection-SQL 삽입공격 역사  (0) 2015.03.17
보안 소프트웨어  (0) 2015.03.14
프로그램 결함  (0) 2015.03.13
소프트웨어 보안 이슈  (0) 2015.03.12
Software 복잡도와 보안  (0) 2015.03.09
시큐어 코딩 관련 용어정의  (0) 2015.03.02
Posted by codedragon codedragon

댓글을 달아 주세요

소프트 웨어 보안 이슈

   

   

공격자 vs 정상 사용자

공격자

정상 사용자

  • 능동적으로 버그와 결함을 찾음
  • 나쁜 소프트웨어를 갈구
  • 잘못된 동작 발생을 유도하기 위해 노력
  • 나쁜 소프트웨어를 통하여 시스템을 공격
  • 버그와 결함을 사고로부터 발견
  • 나쁜 소프트웨어를 경시

하지만, 공존하는 방법을 배워야 합니다. 나쁜 소프트웨어도 운영하여야 합니다.

   

   

프로그램 결함 (비의도적) vs 악의적 소프트웨어 (의도적)

프로그램 결함 (비의도적)

악의적 소프트웨어 (의도적)

버퍼 오버플로우

불완전 중재

경주 상황

바이러스

트로이목마

멀웨어의 변종들

   

'Security > SecureCoding' 카테고리의 다른 글

보안 소프트웨어  (0) 2015.03.14
프로그램 결함  (0) 2015.03.13
소프트웨어 보안 이슈  (0) 2015.03.12
Software 복잡도와 보안  (0) 2015.03.09
시큐어 코딩 관련 용어정의  (0) 2015.03.02
SW 보안약점(Detail)  (0) 2015.03.01
Posted by codedragon codedragon

댓글을 달아 주세요

Software 복잡도

  • "복잡도는 보안의 적이다", Paul Kocher, Cryptography Research, Inc.
  • 현재 새로 개발되는 자동차는 아폴로 우주선을 달에 착륙시키는데 필요한 것보다 더 많은 LOC(Line Of Code)를 가지고 있습니다.

   

Paul Kocher, President and chief scientist, Cryptography Research, Inc

   

   

시스템 별 LOC(Line Of Code)

시스템

코드 라인수(LOC)

윈도우XP

40,000,000

넷스케이프

17,000,000

우주왕복선

10,000,000

보잉777

7,000,000

리눅스

1,500,000

   

   

코드와 버그 라인 수

일반적 예측

5 버그/1000 LOC

수학적 관찰

  • 일반적인 컴퓨터의 경우 100K 크기 실행파일당 3,000개 버그
  • 일반적으로 50개 버그/실행파일
  • 각 컴퓨터당 약 150,000개 버그 존재
  • 30,000 노드 네트워크는 45억개 버그 존재

       

  • 이들 중 10%만이 보안에 심각한 것이고 이들 중 10%만이 원격조정 된다고 가정할 경우에도 단지 450만개의 심각한 보안 결함이 존재합니다.

   

   

'Security > SecureCoding' 카테고리의 다른 글

프로그램 결함  (0) 2015.03.13
소프트웨어 보안 이슈  (0) 2015.03.12
Software 복잡도와 보안  (0) 2015.03.09
시큐어 코딩 관련 용어정의  (0) 2015.03.02
SW 보안약점(Detail)  (0) 2015.03.01
SW 보안약점 유형  (0) 2015.02.27
Posted by codedragon codedragon

댓글을 달아 주세요

   

동적 SQL(Dynamic SQL)

프로그램의 조건에 따라 SQL문이 달라지며 프로그램 실행 시점에 전체 쿼리문이 만들어져서 데이터베이스에 요청하는 SQL 쿼리문 형태

   

   

샌드박스(Sandbox) 기법

  • 어린이가 다치는 것을 방지하기 위해 만든 모래박스(Sandbox)에서 유래
  • JAVA가 지원하는 기본 보안 모델로
  • 외부에서 받은 프로그램을 JVM(Java Virtual Machine)이라는 보호된 영역 안에 격리시킨 뒤 동작시키는 방법으로 프로그램이 폭주하거나 악성 바이러스의 침투를 막을 수 있습니다.

   

   

서블릿(Servlet)

자바 서블릿은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버 측 프로그램 혹은 그 사양

   

   

소프트웨어 개발보안

  • 소프트웨어 개발과정에서 개발자 실수, 논리적 오류 등으로 인한 소프트웨어에 내재된 보안취약점을 최소화하는 한편 해킹 등 보안위협에 대응할 수 있는 안전한 소프트웨어를 개발하기 위한 일련의 과정을 의미
  • 넓은 의미에서 소프트웨어 생명주기의 각 단계별로 요구되는 보안활동을 모두 포함하며,
  • 좁은 의미로는 SW 개발과정에서 소스코드를 작성하는 구현단계에서 보안취약점을 배제하기 위한 '시큐어코딩(Secure Coding)'을 의미

   

소프트웨어 보안약점/소프트웨어 보안취약점

  • 소프트웨어 결함, 오류 등으로 해킹 등 사이버공격을 유발할 가능성이 있는 잠재적인 보안 취약점

   

   

소프트웨어 보안약점 진단도구

개발과정에서 소스코드상의 소프트웨어 보안약점을 찾기 위하여 사용하는 도구

   

   

소프트웨어 보안약점 진단원

소프트웨어 보안약점이 남아있는지 진단하여 조치방안을 수립하고 조치결과 확인 등의 활동을 수행하는 자

   

   

스트러츠(Struts)

웹 개발을 단순화하는데 효과적인 오픈소스 프레임워크로

아파치 그룹에서 개발하여 제공하고 있습니다.

   

   

임계구역(Critical Section)

병렬컴퓨팅에서 둘 이상의 스레드가 동시에 접근해서는 안 되는 공유 자원(자료 구조 또는 장치)을 접근하는 코드

   

   

정적 SQL(Static SQL)

동적 SQL과 달리 프로그램 소스에 이미 쿼리문이 완성되어 고정되어 있는 쿼리문 형태.

   

   

해쉬함수(hash)

  • 주어진 원문에서 고정된 길이의 의사난수를 생성하는 연산기법
  • 해쉬함수를 통해 생성된 값을 '해쉬 값'이라고 합니다.
  • MD5, SHA, SHA-1, SHA-256 등의 알고리즘이 있습니다.

   

   

AES(Advanced Encryption Standard)

  • 미국 정부 표준으로 지정된 블록 암호 형식
  • 이전의 DES를 대체
  • 미국 표준 기술 연구소(NIST)가 5년의 표준화 과정을 거쳐 2001년 11월 26일에 연방 정보처리표준(FIPS 197)으로 발표

   

   

DES 알고리즘

  • DES(Data Encryption Standard)암호 알고리즘은 암호화 키와 복호화 키가 같은 대칭키 암호 알고리즘으로 64비트의 암호화 키를 사용
  • DES는 전수공격(Brute Force Attack)에 취약

   

   

HTTPS

  • Hypertext Transfer Protocol over Secure Socket Layer
  • 월드 와이드 웹(WWW) 통신 프로토콜인 HTTP의 보안이 강화된 버전

   

   

LDAP(Lightweight Directory Access Protocol)

TCP/IP 위에서 디렉터리 서비스를 조회하고 수정하는 응용 프로토콜

   

   

LOC

Line Of Code

   

   

개인키(Private Key)

  • 공개키는 공인된 인증기관에 의해 제공되는 키값으로서 이 공개키로부터 생성된 개인키와 함께 결합되어, 메시지 및 전자서명의 암복호화에 사용
  • 공개키를 사용하는 시스템을 공개키 기반구조(Public Key Infrastructure, PKI)라고 합니다

   

   

SHA(Secure Hash Algorithm)

  • 해쉬알고리즘의 일종으로 MD5의 취약성을 대체하여 사용
  • SHA, SHA-1, SHA-2(SHA-224, SHA-256, SHA-384, SHA-512)등의 다양한 버전이 있으며,
  • 암호 프로토콜인 TLS, SSL, PGP, SSH, IPSec 등에 사용됩니다.

   

   

RC5(Rivest Cipher or Ron's Code)

1994년 RSA Security사의 Ronald Rivest에 의해 고안된 블록 암호화알고리즘

 

   

Spring 프레임워크

  • 개발 효율성과 생산성을 최대로 높일 수 있도록 지원하기 위해 개발된 J2EE 기반의 오픈 소스 개발 프레임워크
  • http://spring.io/

   

   

Synchronized

JAVA에서 임계코드를 동기화하기 위해서 제공하는 예약어

   

   

Umask

파일 또는 디렉터리의 권한을 설정하기 위한 유닉스 명령어

   

   

화이트 리스트(White list)

블랙 리스트(Black List)의 반대개념으로 신뢰할 수 있는 사이트나 IP주소 목록을 말하며, 즉 신뢰할 수 있는 글이나 문자열의 목록을 의미합니다.

   

'Security > SecureCoding' 카테고리의 다른 글

소프트웨어 보안 이슈  (0) 2015.03.12
Software 복잡도와 보안  (0) 2015.03.09
시큐어 코딩 관련 용어정의  (0) 2015.03.02
SW 보안약점(Detail)  (0) 2015.03.01
SW 보안약점 유형  (0) 2015.02.27
정보화사업 감리법인 보안활동  (0) 2015.02.26
Posted by codedragon codedragon

댓글을 달아 주세요