IT/DB Security2011. 12. 16. 15:50

 

아래의 내용은 제가 세미나를 들으면서 정리한 내용입니다. ‘한국데이터베이스진흥원에서 주최했기 때문에 DB보안에 포커스를 맞추어 진행되었습니다.


 세미나 내용을 옮긴 부분도 있고 조금 유연하게 표현한 부분도 있고, 요약한부분도 있습니다. 나름 열심히 옮겨 적으며 객관적으로 내용을 옮기려고 노력했습니다. 다만, 정확하게 옮기지 못한 부분도 있을 수 있으니 이를 염두해주시기를 바랍니다.
 

정확한 내용의 확인은 데이터베이스 보안 가이드라인과 자료를 참고해 주세요.

 시간이 없으신 분을 위해 중요하다고 생각된 부분을 간단하게 정리(주관적임)

> 앞으로 DB보안은 강화될 것이다.

> 기업은 보안 사건 사고가 터질 경우, 안에충실했음을 증명해야 한다.

> 어떻게 증명할 것인가? 하나의 방법- 암호화(해외의 판례에 비추어 보면 암호화로 인해 보안의 노력을 인정받은 사례가 있다)- 다른 방법이 있겠지만 DB보안의 관점에서....

> 현재 시장의 암호화 솔루션은 기업들의 요구조건을 맞추지 못하는 부분이 있어, 암호화는 1년유예 시켰음.

> 개인 정보를 사용 목적 이외의 사용은 금한다.

> 개인 정보를 전송해야 할 경우는 암호화를 반드시 해야 한다.

  

들어가는 말

올해 사고가 많이 일어나서 보안에 대한 많은 관심이 생겼습니다. 또한최근 선관위 DDos로 인해 보안 분야의 많은 이슈가 있습니다. 또한보안이라고 말하면 네트웍크나 시스템 차원에서 많이 다루어진 것이 사실입니다. 다만 사건 사고로 인해앞으로 DB보안에 대한 관심이 많아졌습니다. …

 

해외 사례

미국에서 항공 분야가 해킹을 당한 흔적이 보여집니다. 최근의 이란비행기가 격추당했다고 이야기하지만 이란에서 정보를 입수하여 무사히 착륙했다는 의혹도 있습니다.

또한 어노미너스라는 해킹 그룹은 금융 분야를 해킹해서 가난한 사람들에게 돈을 나누어주겠다는 이야기를 공공연히하고 있습니다. 이에 따른 금융분야의 앞으로의 보안에 대한 이슈가점점 더 강화될 것입니다.

 

국내보안실태

지금까지는 보안과 관련된 다양한 개별법으로 정보보호가 이루어져 왔습니다. 그래서보안에 대한 사각지대가 있었다고 생각됩니다. 하지만 앞으로는 개인 정보 보호법의 시행으로 이러한 사각지대는없어질 것입니다. 기존의 정보 보호법에 따르면 대상이 50만개 업체였지만 앞으로는 대상업체가 350만개업체로 늘어날 것입니다. (보안시장의 확대로 생각할 수도 있겠습니다.)

우리나라는 국제화 시대에 있어 보안분야에 있어서는 후진국으로 차별이 있었다고 생각됩니다. 왜냐하면 해외의 선진국들은 개인정보보호법으로 인해 정보 보호가 법적으로 잘 이루어지고 있었습니다. 하지만 우리나라는 이런 정확한 법이 없었지만 이제 개인정보보호법으로 인해 이런 차별이 해소될 것입니다.

 

암호화에 관련된 내용

암호화 조치는 1년 정도 유예화를 시켰습니다. 현재 시장에서는 많은솔루션이 있지만 암호화 솔루션에 대한 불만족스러운 부분이 있기에 이를 1년 정도 유예시켰습니다. 앞으로도 법의 시행에 있어 이런 상황을 고려해서 결정을 집행할 것입니다.

 

개인 정보 보호법에 담긴 내용

OECD에서만든 8원칙

> 1. 수집제한의 법칙

> 2. 정보정확성의 원칙

> 3. 목적 명확화 원칙

> 4. 이용 제한의 원칙

> 5. 안전 보호의 원칙

> 6. 공개의 원칙

> 7. 개인참가의 원칙

> 8. 책임의 원칙

 

위의 8가지를 기준으로 개인 정보 보호법을 만들었습니다.

 

 

기업에 관한 내용

앞으로 기업에서는 보안 사건 사고가발생했을 경우, 최소한의 보안을 하고 있었음을 증명해야 할 것입니다. 이를 증명하지 못하면 사업자가 패소하게 될 것입니다.

 

최근의 판결을 보면 SK브로드밴드는1명당 10~20만원을 보상하라는 판결을 받은 사례가 있습니다.

 

http://news.hankooki.com/lpage/society/201108/h2011082618015721950.htm

(이 부분은 뉴스 기사를 참고합니다.)

 

뉴스 요약 : 3749명이 낸 6건의소송에서 1인당 10~20만원을지급하라. 판결이 확장되면 물어야 할 보상금은 66,200여만원이다.(이 부분은 세미나 내용을 제가 검색으로 확인해 본 것입니다.)

 

만약 적은 인원이었지만 피해 인원이 늘어나게 된다면 기업은 많은 금액을 보상해야 할 것입니다.

개인 정보 보호법 

 

개인 정보 보호법은 총 9장으로 구성되어 있습니다.

 

<개인정보호법 구성체계>(KDB한국데이터베이스 진흥원,세미나 자료참조)

제목

내용

1

총칙

목적, 정의, 개인정보보호원칙, 다른 법률과의 관계

2

개인정보보호정책의 수립

개인정보보호위원회, 기본계획·시행계획 수립, 개인정보보호지침, 자율규제촉진 등

3

개인정보의 처리

수집·이용·제공 등 처리기준, 민감정보·고유식별정보 제한, 영상정보처리기기 제한 등

4

개인정보의 안전한 관리

안전조치의무, 개인정보파일 등록·공개, 개인정보영향평가, 유출통지제도 등

5

정보주체의 권리보장

열람 요구권, 정정·삭제 요구권, 처리정지요구권, 권리행사방법 및 절차, 손해배상책임등

6

개인정보 분쟁 조정 위원회

분쟁조정위원회 설치·구성, 분쟁조정의 선정방법·절차, 효력, 집단분쟁조정제도 등

7

개인 정보 단체소송

단체 소송 대상, 소송허가요건, 확정판결의 효력등

8

보칙

적용제외, 금지행위, 침해사실 신고, 시정조치 등

9

별칙

벌칙, 과태료 및 양벌규정 등

 

사업자들에게 중요한 것은 3,4,5장이 될 것입니다.

기업 사례 : 넥슨의 경우 이상 징후가 발생된 이후에 일주일이 지난후에 보고가 이루어졌습니다. 앞으로 법의 원칙에 따르면 인지한 즉시 공지해야 합니다.

 

기업은 정보 보호를 했다는 것을 증명해야 합니다.

어떻게 증명할 수 있을까?’

가.  사건 사고가 발생했을 때, 기업은 현재 계속적으로정보를 수집하고 있음을 증명할 수 있어야 한다.

나.  5인에서 50인의사업체는 개인정보 책임자를 임명하면 된다.

다.  50인 이상의 사업자는 회사의 내부 관리 계획을수립해야 하고 CSO를 반드시 만들어야 한다. 그리고 자산 2조 이상의 금융기관에 대해서는 CSO를 반드시 임원급으로 만들어야한다.

 

원청자의 책임 강화

하청업체가 보안이 뚫리면 원청업자가 책임~

 

해외의 판례 언급

해외에서 보안 사건 사고가 일어났을 때, 업체들이 암호화를 제대로 했을 경우 면책을 시켜주었다.

 
이상입니다. 그럼 도움이 되셨기를 바라며 저는 실례하겠습니다. 

Posted by 예영교육 연구소
IT/C_C++_Assembly2011. 12. 16. 14:40

 

보안 분야로 준비를 하면서 수업시간의 내용을 개인적으로 내용을 정리해 보겠습니다.
아래의 내용을 처음부터 하나 하나 공부해 가면 많은 내용 학습을 필요할 수도 있습니다. 
저는 이 글의 목표를 어셈블리어를 이용한 Hello World를 출력하는 것으로 목표로 합니다. 
상세한 내용을 담기에는 너무 글이 길어지고 저도 또한 시간상의 부족한 부분이 있기에 이해해 주시기를 바라며.... 

 
기본 지식

레지스터

레지스터를 간단히 말하면 컴퓨터의 프로세서(CPU, DSP, GPU)가 내부에 유지하는 적은 영역의 기억장치입니다. 대부분의 프로세서는메인 메모리에서 레지스터로 옮겨와 데이터를 처리한 후 그 내용을 다시 레지스터에서 메모리로 저장하는 로드-스토어설계를 사용하고 있습니다.

 

레지스터의 종류

레지스터는 용도에 따라 몇 가지 종류가 있다. 그 중에 몇가지를 간단히 알아보겠습니다.


데이터 레지스터 : 정수 값을 저장할 수 있는 레지스터

주소 레지스터 : 메모리 주소를 저장하여 메모리 접근에 사용되는 레지스터  

범용 레지스터 : 데이터와 주소를 모두 저장할 수 있는 레지스터

부동 소수점 레지스터: 부동소수점 값을 저장하기 위한 레지스터

상수 레지스터 : 0이나 1과같은 고정된 값을 저장하고 있는 레지스터

특수 레지스터 : 프로그램의 상태를 저장하는 레지스터, 프로그램 카운터, 스택 포인터, 상태레지스터 등이 있습니다.

 

포인터와 인덱스 레지스터

32비트 일반 주소 레지스터는 4개가있으며, 일반 레지스터에 속하지 않는 주소 레지스터 EIP도 있습니다.
세그먼트 내에서의 옵셋 값을 기억하며 메모리의 위치를 지적하는데 사용됩니다.
ESP(stack pointer) : 스택의 꼭대기 주소를 포함합니다.
EBP(base pointer) : 현재 스택 프레임의 주소를 담습니다. 주소 스택의 자료를 액세스하기 위해 사용됩니다.
ESI(source index) : 문자열 연산에서 사용되는 원본주소를 포함합니다.
EDI(destination index) : 문자열 연산에서 사용되는목적 주소를 포함합니다.
EIP(instruction pointer) : 현재 실행되는 명령의주소를 포함합니다.

 
세그먼트 레지스터
CS(Code Segment register)  : 명령어 코드를 기억시킨다.
DS(Data Segment register)   : 자료를 기억시킨다.
SS(Stack Segment register)  : 스택 영역으로 사용한다.
ES(Extra Segment register)   : 데이터 세그먼트를 한 가지 더 추가할 때 둘째 번 데이터 세그먼트

 

범용 레지스터란?

특수한 목적을 가지지 않은 명령에 의해 각종 기능을 수행하는 레지스터,

데이터를 계산하는 회로와 어드레스의 계산하는 회로를 함께 가지고 있고, 명령의종류를 줄이는것이 가능하므로 대부분의 프로세서가 가지고 있는 레지스터입니다. 프로그래밍의 자유도가 크게증가하고, 특별히 컴파일러 실행 효율이 좋으므로 오브젝트를 생성하는 것이 쉽습니다. RISC계 프로세서는 범용 레지스터가 동일한 기능을 가지고 있는 것이 많습니다.

EAX(Accumulator) : 워드 단위의 곱셈, 나눗셈, 입출력  
EBX(Base Register) : 주소의 기저, XLAT명령 등에 사용
ECX(Counte Register) : 스트링 조작, REP, Loop등에서 사용
EDX(Data Register) : 곱셈, 나눗셈 및 입출력 명령에 이용

간단한 레지스터의 역사(비트의 확장)
처음에는 우리는 8bit프로세서를 사용하다가 지금은 32bit, 64bit의 사용하고 있습니다.
레지스터도 명칭이 이에 따라 변경되어 왔습니다.


CPU

범용 레지스터

8bit CPU(8086)

“a”, “b”, “c”,"d"

확장 CPU(8086)

“ax”, “bx”, “cx”, "dx"

32bit CPU(80386)

“eax”, “ebx”, “ecx”, “edx” (e extend의 약자)

64bit AMD64

“rax”, “rbx”, “rcx”

 

실습

 

먼저 C언어를이용하여 hello world을 출력해 보겠습니다. 아래에서 이를 구현하는 어셈블리어를 작성하고 실행시켜 볼 것입니다.

 int main() {

  write(1, “hello world\n”,14);

  return 0;

} 

 

컴파일하고 출력해 보면 다음과 같습니다.
 





위의 것을 그대로 어셈블리어로 구현해 보겠습니다..

 .data

   hello :

    .string “hello world”

 

.globl main:

   main:

    mov $4, %eax

    mov $1, %ebx

    mov $hello, %ecx

    mov $14, %edx

    int $0x80

 

 

코드 설명

.data                                 // 영역을 지정합니다.

   hello :                            //  변수 선언

    .string “hello world\n”      //  변수에 문자열 “hello world\n” 넣기

 

.globl main:                       // main 함수 작성

   main:                             // main함수의 내용 적기

    mov $4, %eax               // eax레지스터에 4 넣기(write() 의미하는 System call no)

    mov $1, %ebx               // ebx레지스터에 1 넣기(Standard_out 의미)

    mov $hello, %ecx          // string(hello) 주소

    mov $14, %edx             // string size

    int $0x80                      // 인터럽트 수행

 
  write(1, “hello world\n”,14); 의 한줄은 어셈블리어에서는 다음으로 표현됩니다.
==========================================================================

    mov $4, %eax           // eax레지스터에 4 넣기(write() 의미하는 System call no)

    mov $1, %ebx           // ebx레지스터에 1 넣기(Standard_out 의미)

    mov $hello, %ecx      // string(hello) 주소

    mov $14, %edx         // string size

    int $0x80                  // 인터럽트 수행

 ==========================================================================

이를 컴파일 하고 다시 결과를 확인해 보겠습니다.

여기서 저장하는 파일의 확장명은 ‘[파일명].s’입니다그리고 컴파일 하는 방법은 C와 동일합니다.

 

# gcc [파일명].s

# ./a.out




자 다음과 같이 write()함수를 system call하여 문자를 출력했습니다하지만

자 여기서 한가지 에러가 발생했네요.

‘Segmentation fault’

이 에러는 자원을 릴리즈하는 별도의 루틴을 설정하지 않았기 때문이다이를 해결하기 위해 exit(0) 시스템 콜을 호출합니다다음의 행을 추가합니다.

 

이를 해결해 보도록 하겠습니다.

mov $1, %eax

mov $0, %ebx

int $0x80

이 코드의 의미는  ‘exit(0);’의 의미와 동일한 의미를 갖습니다.

 

자 그럼 코드를 추가한 후최종 결과를 확인해 볼까요~~~


 
 
정상적으로 실행이 확인되었습니다. 자 출력하는 것을 실습해 보았습니다. ^^

이론을 많이 보는 것보다 한번 해보는 것이 저는 이해가 빠른 것 같네요.

혹시라도 내용중에 추가나 수정해야할 부분이 있다면 지적을 부탁드립니다. 더 나은 지식 나눔을 추구합니다.
그러면 좋은 하루 되세요.

<위키 백과 참조>

 

 

 

 

 

 

 

 

Posted by 예영교육 연구소
IT/DB Security2011. 12. 16. 11:15

어제 '개인 정보 보호법 시행에 따른 DB보안 수립 전략과 실무 방안' 세미나에 다녀왔습니다. 
12월 15일 13:00 ~ 18:00에 있었습니다. 그리고 세미나 참석자 전원에게는 선물로 '데이터 베이스 보안 가이드 라인' 책자를 나누어 주셔서 하나 받아 왔습니다.

이 책이 나오게 된 배경은 기업들이 DB보안을 어떻게 하느냐? 이런 고민을 하던 가운데 전문가들이 모여 7월달부터 5개월간 함께 만나서 이야기하면서 이 책을 만들었다고 하네요.

책은 334페이지,
집필진은 세분 이시네요.(김광열 이사, 박상용 상무, 김범 이사)

다음과 같은  주제로 세미나가 있었습니다.

개인 정보 보호법 시행에 따른 DB보안 이슈(임종인 고려대 정보보호 대학원장)
정보보호 환경 변화에 대응하는 DB보안 전략(박상용 엔코아 상무, DQC-S실무위원)
DB접근 제어와 작업 결재을 통한 DB보안 강화 방안(김광열 신시웨이 이사, DQC-S실무위원장)
DB암호화와 취약점 분석을 통한 DB보안 강화 방안(김범 웨어벨리 이사, DQC-S 실무위원)
데이터 보안 인증(DQC-S)도입 방안(김권식 한국DB진흥원 원장)

열심히 DB보안 세미나를 노트북을 가지고 기록했습니다. 전체적으로 아직 DB보안의 전체적인 그림을 잡아가는 단계이기 때문에 개념적인 내용이 주를 이루었습니다.
앞으로 조금씩 조금씩 DB보안에 대한 이야기가 나올 듯 합니다.

필요할 만한 내용을 2-3 파트로 나누어서 DB보안 세미나 내용을 정리해 볼까 합니다.

그리고 저도 보안 분야로 취업을 준비해 가는 입장이기에 'DB보안 가이드 라인'을 중심으로 DB보안에 관한 내용으로 포스팅을 당분간 해 볼까 합니다.^^
Posted by 예영교육 연구소