태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

아주 오래된 글을 우연찮게 찾았다.  읽다보니 그 당시의 심정을 알 것 같은 느낌이 새록새록

2000년이 되기전에 쓴 것 같은 기억이 ~~ 지금도 해당될까? 하는 궁금증은 들기는 하지만 그냥 무시하고 올려본다. 아마 해커의 길을 처음 쓰면서 같이 썼던것 같은데 아무튼 오래된 글이다. 아직까지 남아 있다는게 신기한 정도

 

지금의 프로그래머란 정의는 딱 한줄로 될 수 있을 것 같다.

" 스스로가 생각하는 것을 그대로 구현 할 수 있는자 "

그리고 내용중 귀를 엷게 만들지 말라는 지금도 당연한 사실. 시류에 흔들리다보면 언어의 유행에 흔들리다 보면 외딴섬에 난파된듯한 자신을 발견 할 수 있을 것이다. ^^

 

------------------------------------------

..
솔직히 말해서.되는 방법이란 것은 없다.

다만 자신이 진실로 원하느냐 원하지 않느냐가 문제일 것이다.

프로그래머라고 불리어 지기를 원하느냐 아니면.. 스스로 자칭을 하느냐...

어느쪽이든 간에 나쁘다 좋다를 떠나서...

밥벌이의 수단이나.. 혹은 그냥 보기 좋아서 선택한다 하면...

일단은 내 기준에서 보기엔..제외하겠다..( 주관적인 의견..)


자신의 의지와 열정을 굽히지 아니하고 어려운 생활을 스스로 감내하면서도

스스로의 창의성을 살리고 창조의 욕구를 해소 시키는 자.


우선..쓸데없는 서론은 관두고..정신적인 자세와..공부매체에 대한 것으로 나누어서 보도록 하겠다. 우선은 정신적인 자세부터...지극히 주관적인 것이니. 객관적이지 못하다라는 필요없는 반론은 그만 두기 바란다. 그럼 시작한다.

 


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


@@@@  프로그래머가 되기위한 정신적인 방법

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


1. 하나를 잡고 끝까지 고민하고 그 모르는 하나의 근본이 무엇일지 생각해 보라.


대개 보면..C 언어에서는 포인터 부분을 잘 몰라서.. 포기 하는 부류가 가장 많은 것 같다. 그러나 근본원리라는 것은 변하지 않고 모양만 변하는 것일뿐인데..
이용하는 자원은 정해져 있다는걸 명심하고.. 가장 근본이 되는 모습을 보고 어느정도 이해 하려고 하면 처음은 어려워도 시간이 지날 수록 쉽게 다가옴을 명심하시길..

 


2. 하나의 언어에 대해서 자신이 있다고 말할 정도

또..스스로 생각하는 걸..그것이 작던지 크던지 간에 창의적으로 구현을 할 수 있다면 어느정도 자신이 있는것 아닐까?.. 언어의 유행과 주기를 떠나서.. 스스로가 공부를 하기 위해서 선택한 것이라면 스스로가 생각하는 창의성을 제약하지 말고..마음껏..노력하고 마음껏 다듬어.. 스스로 애지중지 할 수 있는 하찮은(?) 프로그램이라도 개발해 보는 것이 순서이리..

 

3. 귀를 엷게 만들지 말라.

이것이 유행한다..저것이 유행한다 하여..이리로 타고 저리로 옮겨타구..하는 것은 시류에 가장 잘 적응 하는 것일수도 있지만.. 좀 길게 생각해 보면.. 시간들여서.헛짓 하는 것일 수 있다. 또. 깊이가 없는 앎은 언제나 결정적인 때에 시들어 버리고 마는법이다.

 

4. 사회의 어느부분에 도움이 되고 싶다는 열망을 가져라.

이 부분은 나 같은 성격에는 잘 맞지는 않는다고 생각하지만. 개인적으로 생각하기에.. 스스로가 바꾸고 이런쪽으로 이끌었으면 좋겠다고 생각하는 부분을 두고 구체적으로 생각하고 고민한 후에 직접 실천해보라.. B2B 솔루션에서 획기적인 생각을 하였고..또 그걸 구체화 하기 위해서는 어떤것들이 필요한지.주위에서 습득을 하고..노력을 기울여라

 

5. 이제 그대가 할 수 있는것은 창조 뿐이다.

마지막..단계이다.. 창조성을 살려야 한다. 십수년의 갇힌 교육으로..강요 되어져온 창의적인 야수성을 살려라.. 그리고 나아가라. 그대의 길로.. 그것이 guru 의 길.


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

@@@ 프로그래머가 되기 위해  학습을 하는 방법 @@@@@

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


1. 우선 초보책을 산다. 프로그래밍 초급.. ( 아무래도 근간은 C 일듯..)
 
 언제나 말하지만..책 사고.배우려고 하는데 돈을 절대 아끼지 마라.. 지금 당장이든 언제는 돌아오지 않을 듯 보여다..깊어지고 깊어지면 반드시 돌아오는 법.
초급에 관련된 책들을 여러권 사서 보면서 그 책들에 기술되어 있는 부분에 있어서..
분명히 같은 개념을 말하지만..말이 어렵거나 다르게 쓰여져 있는 부분이 반드시 존재한다. 이런 부분에 대한 궁금증과 호기심을 가지고 골똘히 생각해보라.

 

2. 분야별로 전문적이거나 중급수준의 교재를 나름대로 선정한다.

누구나..초급을 벗어났을때..교재의 선정에 애로점을 지닌다. 그러나 발로 돌아다녀보구..여러군데 쇼핑몰을 돌아다니면서..찾아보라..이때에 선정해야할 책의 내용으로는 개인적으로 생각하기에는 초급에서 알았던 내용과 모르는 내용이  50:50으로 섞인것 을 보는 것이 적절히 흥미를 유지하면서 하기에 좋았던것 같다.

전문적인 부분에 있어서는 1번 단계에서 말한 내용중에 같은 것을 설명하면서도 다르게 풀이가 된 부분을..집중적으로 생각하고.. 스스로가 정의를 한번내려 보라..

ex) 포인터의 사용법과 쓰임에는 선언과 정의가 있다. 이 선언과 정의에 대하여 스스로가 정의를 내려보라.
간단히..선언은  이런것이 있다고 알리는 것..
정의는 이런것을 이렇게 쓰는것..뭐 이런 식의 스스로의 해석이 있어야 될 것이다.

 


3. 다독을 하라.

프로그래밍의 근간은 모방과 많은 소스 코드를 보고 이해하려는 노력들이 모여야만 한다.
노력이 없이는 되는 것이 없는 법이다.
많은 책을 읽고 그 차이점과.. 책의 오류에 대해서 나름대로의 판단기준으로..의견을 낼 정도로  많은 책을 보라.. 굳이 돈 없다는 이야기 하지 마라..
학교 도서관이나. 공공 도서관 가도 요즘 프로그래밍 책들 예사롭지 않게 만날 수 있다. 예전과는 다르게....
또..웹사이트는 폼인가?.. 돌아다니면서..잘 찾아보라..

 

4. 다독을 하면 반드시 한계를 지니게 된다. 그걸 넘어서라.

외국어를 알아야 한다. 최소한..우물안 개구리가 안 될려면..회화를 알아야 한다는 것이 아니다. 읽을 줄 알아라.. 정확한 문법이고 이런거 필요없다. 그대가 만약 토익이나 토플등에 관심이 있다면.. 문법을 따지겠지만. 그대가 지식을 익히려는 목적은 프로그래밍이 아니던가??.. 차이를 가져보라.. 우리나라의 책들이 말하는 지식과.. 다른 나라에서 만든 책들중에서..차이를 느껴보고.. 전문성을 보려고 하라.

 

5. 많은 자료를 웹사이트에서 찾아보고..반드시 생각해보거나..써보아라.

공부하라.. 인터넷의 세계는 양면의 칼날이다. 잘 쓰면 쓸수록 깊이를 지니는 도구일뿐.
그리고..스스로의 아는 지식의 빈약함에 대해.. 반성하라.
이제 상업적으로도 성공하거나 완전한 제품..혹은 그럴리 없겠지만. 사회에 기여하고 싶다면 제대로된 프로그램을 짜야한다..이러기 위해서 그대는 많은 소스와 공개된 오픈 소스들을 분석하고 필요한 것이 무엇인지 잘 생각해 보라..

 

6. 아마도.. 데이터 베이스나 넷트웍에 대해서 알아야 된다고 생각 할꺼다.. 아닌가?

그래..데이터베이스는 알게 모르게 우리

우리 주위에 깊숙히 존재한다. 그러나 잘 아는 사람은 그리 많지 않다.. 이게 없으면 많은 것들이 힘들어 지고 할 수 없게 된다.
DB 에 보면 Schema 라고 하는게 있다. 이 모든 근간에 프로그램 코딩은 맞추어 지고..
데이터의 흐름을 가지고 프로그램은 살아있게된다.
이런 데이터의 흐름을 스스로 디자인 해보라.이를 DFD 라고 한다. (Data Flow Diagram)
DFD 를 만들면 작성해야 하는 프로그램의 전체 구조를 일목요연하게 볼 수 있다.
이걸 할줄 알고 볼 수 있어야 만이 진짜 프로그램의 세계를 만날 수 있다.
솔직히 그대들은 아직 간단한 코딩 테크닉의 활용들을 보고 아직 프로그램이라 하는가?
테크닉은 테크닉 나름대로 존재의 이유가 있지만. 프로그램은 인간을 이롭게 만들고 생활을 유리하게 만들기 위함이 목적이 아닌가?.. 목적에 충실하려면.. 그대가 알아야 할 것은 아직도 많다.


7. 개인용을 만들어 봤다면 이젠 상업용을 개발해 보라.


네트웍은 기본적인 것이겠지?.. 잘 생각해보고. 깊이있는 공부 혹은 스스로가 아는 방법으로 해볼려고 시도해 보라.. 깨놓구 말하지만. 머리를 벽에다 많이 박아야 홀로 알 수 있을 것이다... 그런 후.. 상업용제품을 만든다는 생각으로. 일반 쉐어웨어나 상용제품을 꼼꼼히 생각해 보면서 실행 시켜보라..무엇을 느끼는가?..

 

8.아마도.. UI (User Interface ) 를 느낄 것이다.

그대가 불편하면 사용자도 불편한것.. 이..User Interface 를 위해 더욱 더 많은 테크닉과 기술을 우린 집결해야만 한다.

 

9. 이제 그대가 생각하는것을 창조할 만큼 노력하고 창의성을 지니는 것만 남았다.


winsnort@hotmail.com

Posted by 바다란

댓글을 달아 주세요

해커의 길 그리고 나의 길 - 바로 뒤의 글에 언급된 해커의 길 I 탄입니다. 98년에 썼으니 무려 8년가량 된글이네요..

원본: www.nmrc.org

위의 URL 에 언급된 내용이지만 내용이 귀담아 들어야 할 내용이 있기에 이렇게 요약을 해봅니다

.
( 원문의 내용을 축약하고 간단히 하려고 했기에 의미가 손상되었을 수도 있습니다.)

=
[ 이 글은 수많은 사람들에게 똑같은 것을 말하기에 지쳐서 쓰는 글이라기 보다는 흥미있는 정보

를 지니고 있어서 쓰는 것이다. 만약 한명의 사람이 궁금해 하는 것을 묻는다면
거기에는 아마도 10여명의 묻지 못하는 사람들이 있을 것이라 생각된다. 그런 이유에서 이글을 쓴

다.]

이 문서는 지속적으로 갱신이 될 것이다.

최근에 다양한 주제에 대해서 묻거나 추천하는 프로그래밍 언어는 무엇이고 당신이 생각하기엔 어

떤 책을 먼저 보면 좋겠느냐 그리고 일반적으로 보안 부분에서 최고가 되기 위해서는 어떻게 하여

야 하는지와 그 위치에 도달하기 위해서 얻어야 하는 지식에 대해서 수많은 요청을 받고 있다
. 여기에서 나는 모두를 위해 그것에 대해서 털어 놓는다.

-----------------------------
어디서 시작하는가?
-----------------------------
이점에 대해서 나는 상당히 다른 의견을 제시한다. 만약 당신이 처음 시작 하는것이라면 당신에게

Technotronic,Bugtraq,Packetstorm,Rootshell , 등 의 소스를 보지 말 것을 제안한다.

그곳에서 시작하지 말라. ( 물론 그곳들은 좋은 사이트이고 내가 말한 것이 그곳을 당신이 방문해

서는 안된다는 것을 의미하지는 않는다. :=)

이유는 간단하다: 만약 당신이 아는 보안에 대한 생각이 최신 exploits을 아는것이라고 생각한다

면 당신은 많은 것을 알지못하는 당신 자신을 발견하게 될 것이다. 어떤 것이 서버권한을 얻고

얻지 못하고 하는것에 대해 아는 것은 좋은 것이다 그러나 그것이 지식의 굳건한 기초를 쌓는 것

을 제공하지는 못할 것이다. 당신이 RDS 가 최신의 에러요소를 지니
고 있다는 것을 안다고 할 때 당신은 어떤식으로 다운로드를 받고 스크립트를 실행시키는지를 알

고 그것을 패치 하는법을 만약 안다고 한다면 ; 지금으로부터 3개월 뒤면 그 패치는 널리 퍼져

있을 것이고 그 주제는 낡은 것이 될 것이다. -- 지금 당신이 가지고 있는 지식에서 무엇이 좋

은것인가? 잠시 생각해 보자. 얼마나 많은 주제에 대해서 당신은 이해를
했는가?

익스플로잇에 대한 당신의 지식인가 아니면 익스플로잇 자체인가?

상당수의 사람들이 만약 최신 exploits을 안다면 그들은 보안을 안다고 생각한다. 그러나
절대 !절대! 로 아니다. 당신이 exploits을 아는 것은 보안과는 다른 것이다.

Example: 당신이 phf,showcode.asp, Count.cgi , 그리고 test-cgi. 에 대하여 안다고 할 때
당신은 일반적으로 무엇이 CGI를 위험요소로 만드는지 아는가? 당신은 안전한 CGI의 코
딩을 어떻게 하는지 아는가? CGI 기반으로 작성된 다른 것에서 어떻게 피해를 줄 수 있는
지 당신은 아는가? 또는 PHF,showcode.asp , Count.cgi , test-cgi 등도 당신이 아는것과 다
른것인가?

그래서 나는 익스플로잇으로 시작 하지 말 것을 제안한다. 익스플로잇이 존재한다는 것을
무시하라 ( 물론 내가 어떤 의미로 말을 하는지는 당신도 알꺼다.) . 초보적인 사용자로 시
작하기 위해서 당신에게 필요한 것은 무엇이 있겠는가.


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

Becoming a User
===============================

만약 당신이 Web 해킹을 하려 한다면 당신은 web을 어떻게 이용하는지 알고 있는가?
좋다. 당신은 넷스케이프와 익스플로러를 이용할 수 있고... 또 URL을 타이프 할 수 있으
며 .html 파일이 웹페이지 파일인 것을 안다. 당신은 파워유저가 되기 위해서는 이과 같
은 과정을 거쳐야만 한다. .asp 와 .cgi 가 동적인 것은 분명하다. .php 는 또 무엇인가?
redirect thing 은 또 무엇인가?. cookies? SSL ? 이 모든 것 들은 normal user 가 마주 치
는 것들이다. EXPLOITS 없이 다만 정상적으로 이용하라. 기초적인 것들을 무시하면 당
신은 엘리트가 될 수 없다. 절대 공짜란 없는 법이다.

유닉스를 해킹하기 위해서는 최소한 로그인과 로그아웃 그리고 쉘 명령어를 이용 할 수 있
어야 되며 mail, ftp , web, 등의 애플리케이션 실행 시킬 수 있어야 한다. 당신은 기초를 아
는 것이 필요하다 그래야 관리자가 될 수 있을 것이다.

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

Becoming an admin
=============================

지금 당신은 사용자의 영역을 넘어서 조금 더 복잡한 사용에 익숙 해져야 한다.
좀 더 명확하게 말하자면 웹서버가 될 것이다. 서버의 타입은 무엇인가? 각각의 차이점은
무엇인가? 어떤식으로 당신은 그것을 구분 할 수 있을 것인가?
정답은 그것들이 어떤 식으로 작동하는 지와 무엇을 하는지를 알아야 한다. HTTP 가 무
엇인지 아는가? HTTP1.0 과 HTTP1.1 의 차이점은 무엇인가? 어떻게 HTTP 1.1 가상 호
스팅이 작동하는 지를 안다면 웹서버의 설치에 도움을 줄 것이다. 좀 더 깊이 들어가 보
자.

운영체제에 대해서. NT를 구분 할 수 없다면 어떻게 해킹을 할 것인가? 당신은 아마도 관
리자 패스워드를 크랙 하려 할 것이다. 어떤 식으로 rdisk를 실행시키고 사용자명과 패스워
드 등등의 관리 조차 하지 못하면서 말이다. 이제 당신은 관리자에서 power-admin 으로
격상 되어야함을 느낀다. .. 당신은 이제 GUI환경에서 사용자추가를 할 수 있다. GUI를 이
용하여 추가하는 방법이외에는 방법은 없는가? 커맨드 라인은 무엇을 말하는가? 어쨋든
이 모든 실행 파일들이 당신의 system32 디렉토리 내에 있는가? 이것들은 도대체 무엇을
하는가? 왜 usernetctl 이 suid를 필요로 하는지 아는가? 단지 usernetctl 이 필요한가?
좀 더 깊어져라. 좀더..

친밀하게 되라 이것이 핵심이다. 대충 알아서 되는 것은 없다. 당신이 찾아 낼 수 있을 만큼
을 알아 내라 그리고 초 절정고수 (guru ) 가 되라.~~

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

당신은 모든 것을 알수는 없다.
==============================
위의 말은 진실이다.. 할수 있다고 생각하지 마라. 만약 당신이 할수 있다고 생각한다면 당
신은 스스로를 어리석게 만들고 당신의 지식을 얇게 만들어 버릴 것이다. 당신이 무엇을 필
요로 하고 흥미가 있는지를 골라내고 더 배우라.

사용자가 되고 관리자가 되고 .. 초절정 고수가 되고..그리고... 사실상의 그 주제와 관련된
부분에 있어서는 오직 당신 이외에는 없는 넘버 1이 되어라.
웹을 사용하는 것과 CGI를 어떻게 쓰는지를 배울 필요는 없다. 기초에 충실하라.. HTTP를
알라. 웹서버가 어떤 식으로 작동하는지에 대해서 알고 어디에서 관찰하는지를 알아라.
이것이 동작하지 않을 때 에는 무엇이 그 원인 인가를 깨달아야 한다.

당신의 관심 분야에 대해서 친숙하게 알아 갈수록 자연스럽게 어떤 식으로 exploit을 하
는지를 알게 될것이다.

간단하지 않은가?.. 만약 당신이 모든 입력과 출력에 대해서 안다면 , 보안은 이 입력과
출력의 범주에 속한다. 최신의 exploits 에 속하는 것 물론 과거의 것과 미래의 exploits 은
보안에 포함 되지 않는다. 당신이 초절정 고수가 되어가는 과정에서 당신은 알려지지 않은
작은 사실들을 발견 할 수도 있다. .. 대단 하지 않은가?.. 이것이 exploits 이다. 조작을 하
기 전에 당신이 본 것과 어떻게 그것이 작동하는지에 대한 이해가 필요 하다.

자.. 가서 CGI 가 실제로 무엇인지, 어떻게 HTTP 에 영향을 미치는지, 어떻게 웹서버가 그
것을 실행하는지에 대해서 배우라.. 그러면 당신은 무엇을 하는지 이해 할수 있을 것이다.

들어서 아는 것과..이해하는 것의 차이는 명확하다!!!!

==========원문 끝==========


>사견 첨가

해킹을 하기 위해선.. exploit 이전에 HTTP 가 무엇인지 TCP/IP 가 어떤식으로 작동 되는
지에 대한 이해가 우선 되어야 한다. 해킹이 목적이 되어선 결코 배울 수가 없을 정도로 따
분하고 지루할 수 있지만 이 과정을 넘어야.. 당신은 당신이 하려는 것이 무엇인지 알 수 있
을 것이다.

기초가 없이는 종속 될 뿐이다.

HTTP, TCP/IP 등의 기초적이고 지루한 이론 에 충실 하지 못하기에 거의 대부분의 해킹
기법과 exploits 이 외국에서 나오는 지도 모른다. 어쩌면 우리에게 OS를 만든 역사가 없
다는 것이 시스템 프로그래머의 사장과 그 이론의 구체화와 전파에 지장을 주었을 것이다.
이제 리눅스라는 걸출한 영물이 하나 우리에게로 던져 주었다.
이제 우리는 무엇을 할것인가?..
우리손으로 OS를 조작 할 수 있게 되었다. 그런데도.. 외국에서 만든 익스플로잇이나 돌리
면서 잔머리 굴리기를 언제까지 할것인가?.. 진정한 해킹이란.. 툴이나 기존에 완성된것이라
기 보단.. 창의적인 작업이다... 바로 이것이 무기이자 경쟁력이 되는 세상이다.
우리에게는 창의 성이 없다. 다만 응용만이 있을 뿐이다. 기초가 없는 응용은 발전에 한계를
가진다. 창조 하지 못하면 곧 죽음이 되는 시대가 올 것이다. 그러나 우리는 기초를 보려
하지 않는다. 단순히 가장 빠른 exploits을 적용해 가며 으쓱하는게 자랑인가?..
어느 서버를 해킹해서 어떻게 했다.. 이게 자랑인가?.. 물론 자랑일수 있다. 그러나 그것이
다는 아니다. 기초를 무시해서 망가진 것을 우리는 수도 없이 봐왔다. 삼풍, 성수, 정치,경
제 ... 이 모든 것을 목격한 우린 다르다고 말을 하지만.. 알고 보면.. 판만 바뀌었다 뿐이지
똑같지 않은가?.. . 바뀐 세대들이여.. 그대들이 말하고자 하는 것은 무엇인가?..
깊이 이해 하려 하지 않고 흐름을 쫓기 좋아 하지만.. 그래선 언제나 쫓아 가기만 할뿐이다.
생각을 바꾸면 우리 길을 만들 수 있다...우리 윗세대가 우리에게 밥굶지 않는 생활을 만들
어 주기 위해 그렇게 고생을 하였다면 이제 우리는 다음세대에게 어떤 모습으로 비춰 질것
인가?..또 어떤길을 갈 것인가?.. 우리가 우리의 길을 갈 수 있다면 그것 부터가 최초의 길
이 아니겠는가?.... 마음을 편안히 가져라.!!.. 당장 오늘 결판이 나는 것은 아니다. 오늘 나온
exploits을 알지 못한다 하여 불안해 하지 마라.. 해킹 기법이라면 무조건 익혀야 된다는 생
각을 버려라.. 기초를 알면.. 화려함으로 포장된 이면을 볼 수 있다... 알고 보면.. 아무 것도
아닌 것이다.!!!

개인적인 경험을 말하자면

나는 프로그래머다.. 지금 8년째 공부를 하고 있으며 그 중에서도 5년 이상의 기간을 C 언
어 라는것만 집착했다... 고집스럽게도 이해하기 전에는 넘어 가지 않으려 했다... 처음엔 답
답하고 아무리 해도 끝이 보이지 않던 것들이.. 바닥으로 바닥으로 계속 파헤치다 보니 컴퓨
터 구조 까지 공부하게 되었다. 그리고 다시 C 언어를 공부했다.. 그래도 모르겠더군..
솔직히 머리가 나빠도 이 정도로 나쁠수 있을까 하는 의심 조차 들었었다. 그런 시간을 인
내하며 끝없이 바닥에서 다시 시작 하고 또 시작 했다. 컴맹으로 시작해서 2년의 시간이 지
날때쯤에야 머리속에서 프로그램을 컴파일 시키고 문제가 생길 수 있는 부분을 예상 할 수
가 있게 되었다. 그리고 군대에서.... 컴 퓨터를 접할 수 없었던 나는 머리속으로 생각 하고
또 생각 하게 되었다. 어느 순간 모든 것이 명확해 지더군.. 수백번도 더 보았던 구절이 명
확하게 이해가 되고 내 나름대로의 방식을 가질 수 있게 되었다... 그 때에도 수많은 화려
한 언어들이 명멸하고 이름을 날렸지만 불행인지 다행인지.. 고집스럽게 그거 하나에만 매달
렸었다... 그리고 지금.. 한달의 기간이면 하나의 언어를 내 식대로 다를 수 있게 되었다. 또
그렇게 사용하고 있다. 어차피 한정된 자원을 이용하는 것은 마찬가지이기에 겉으로 드러나
는 화려함 보다는 내부의 자원을 이용하는 것을 보는 것이다.. 그러면 사용할 수 있는 방법
이나 책에 나와 있지 않은 방법. 매뉴얼에 언급되어 있지 않은 새로운 것들을 활용 하고 가
공 할 수 있는 상태가 되었다.. 이제 나는 GURU 의 길로 간다.... 내가 남긴 글이 당신들에
게 도움이 되기를 바라며.. 절대 조급하지 말기를 바란다.. 해킹이란 것은 오히려 프로그래밍
보다 유행주기가 훨씬 짧다.. 그러기에 더더욱 보이는 현상에 집착하지 마라... 기초를 알면
모든 것은 자연히 이해가 된다... 오늘 애써 익힌 소스일지언정 며칠 아니 몇시간이 지나면
써먹을 수 없을지도 모른다.~~.. 당신은 한순간의 자만을 위해 당신의 귀중한 시간과 인생을
낭비할 것인가?... ..

기초를 익혀라..

그것이 진정한 해커의 길이다.!!

창의력으로 승부하는 진정한 해커의 길이다.!!

winsnort@hotmail.com : 바다란
- 지난 98년 쯤에 썼던 글입니다.
Posted by 바다란

댓글을 달아 주세요

보안전문가와 보안관리자의 차이와 구분에 대해

 

 

안녕하세요. 바다란입니다.

 

일전에 보안전문가에 대해서 한번 써보기로 했었는데 생각해 보니 범위도 매우 넓고 세부기술 단위도 많은 문제가 있었습니다. 그리고 보안이라는 부분이 모든 IT 관련된 기술 부분과 연관되다 보니 적용의 범위와 산업의 범위를 어디까지로 두어야 할지 경계가 모호하여 적지 못한 적이 있습니다.

오늘은 IT서비스 부분에 대해 전체의 범주는 아니지만 많은 부분 포함이 되는 범위 안에서 보안전문가와 보안관리자에 대해 써보도록 하겠습니다.

 

보안전문가와 보안관리자에 대해서 상당히 애매하게 접근을 하고는 합니다. 그러나 일반적으로 알려진 상식으로 구분을 해보면 보안전문가는 보안 관련된 기술을 깊이 있게 이해하고 있고 실제 적용이 가능한 상태로 만들 능력을 지니고 있는 자를 의미합니다. 보안관리자는 보안정책에 대한 집행과 이행 , 시스템에 대한 관리 등등 다양한 부분을 책임지고 있는 자라고 할 수 있습니다.

전문가는 기술에 대한 전문가이고 관리자는 관리능력과 책임을 지닌 담당자라고 일반 경계를 그을 수 있을 것 같습니다. 보안전문가와 보안관리자는 Specialist Generalist라고 볼 수 있으며 일반 기업에서는 보안관리자는 Generalist여도 되나 IT서비스를 주된 업종으로 삼는 곳에서는 특정 부분[기술적인 부분]에서 Special한 능력을 일정수준이상 보유한 Generalist가 보안관리자라고 할 수 있습니다. 세부적인 기술에도 익숙하고 전체적인 부분에 대해서도 이해가 가능하며 책임의식이 있는 부류를 보안관리자라 칭할 수 있을 것입니다. 보안관리자는 또 두 가지 큰 부류로 나눌 수 있습니다. Manager Officer의 차이점이라고 할 수 있는데 후반부에 기술 하도록 하겠습니다. Security Manager의 속성에는 지켜야 할 대상에 따라 두 가지 부류로 나눌 수 있습니다. 고정 자산에 대한 보호를 위한 정책적인 보안관리자와 서비스에 대한 보호를 위한 Special Security Manager로 나눌 수 있습니다. 지켜야 할 대상이 무엇인가에 따라 부류가 달라진다고 보면 됩니다. General Security Manager Special Security Manager에 대한 차이는 보안관리자 부분에서 다루도록 하겠습니다.

 

IT 서비스를 구성하는 요소는 시스템 , 네트워크 , 서비스로 한정할 수 있습니다. 시스템과 네트워크는 이미 기본으로 갖추어야 하는 능력이며 서비스 [  , 게임 , Application 등등 ]에 대한 능력은 새롭게 강조되고 요구되는 능력입니다. 사실상 가장 중요하고 IT서비스에 막대한 영향을 미칠 수 있는 부분이기도 합니다. Web 2.0에서 사용자와의 인터페이스가 가장 중요한 부분인 IT 서비스 부분에서는 서비스에 대한 보안기술 능력은 더욱 중요한 부분이 됩니다. 범위를 한정하여 IT 서비스를 주된 업종으로 삼고 있는 업계에 한정하여 보안전문가가 갖추어야 할 요건은 다음과 같습니다.

 

보안전문가 [ IT Service 부분]

 

해커의 길에 유사한 내용들이 포함 되어 있습니다.

해커의 길 I : http://p4ssion.com/233

해커의 길 II: http://p4ssion.com/228

 

-         네트워크 보안 기술 : 네트워크 분야의 기본적인 보안 구성에 대한 이해가 가능하며 네트워크 구성도에 대한 이해가 명확해야 합니다. 취약지점과 보완해야 될 부분에 대해서 정확하게 지적할 수 있을 정도의 능력이 요구 됩니다. 또한 네트워크 보안장비에 대한 기본 이해도 충분해야만 합니다.

 

-         시스템 보안 기술:  각 서비스 하위 단위를 구성하고 있는 물리적인 단위인 각 개별 시스템 및 운영체제들에 대한 이해도가 충분하게 높아야 됩니다. 운영체제의 종류도 여러 가지가 있지만 대체로 *BSD 계열과 Windows 계열에 대한 충분한 이해와 일반 운영인력들 보다 나은 능력을 보유하여야만 됩니다.

 

-         Application 보안기술: 다양한 부분이 있습니다만 만들어진 부분에 대한 보안요소를 강조하는 의미에서 Web , Database에 대한 보안 기술과 구성요소에 대한 이해가 되어야만 합니다. Game의 경우에는 게임 내에서 발생하는 Abusing에 대한 분석능력도 충분하여야 하며 Service의 경우에는 Service에 대한 Abusing 대응과 분석이 가능한 능력이 있어야만 합니다. 이 부분에서 다양한 요소기술이 요구 됩니다.

 

n         Programming 능력: 개발이 가능한 능력이 있어야만 본질적인 보안상의 문제 이해와 지적이 가능합니다.

 

n         구조에 대한 이해: 오랜 시간이 소요되지만 서비스의 구성과 구조, Process에 대한 이해가 있어야만 게임이든 서비스든 Abusing에 대한 분석과 대응이 가능합니다.

 

n          Application [ 상용 또는 자체개발 ] 보안 취약성의 동향과 흐름에 대해 신속한 정보 수집과 전파 , 가공 능력을 지녀야만 합니다.

 

n         Reverse Engineering : 현상에 대한 분석을 위해 Binary 분석 능력을 갖추고 있어야 하며 최소한 이해는 할 정도는 되어야만 됩니다. Game의 분석을 위해서는 Binary 분석 및 Reverse Engineering 능력은 필수적인 부분입니다. 물론 어셈블리에 대한 이해도도 충분한 수준 이여야 겠죠?

 

-         Penetration Test 능력: 일반적으로 모의해킹이라고 부릅니다. 시스템 / 네트워크/ Application을 총체적으로 이해하는 상황에서 각 분야별로 침입을 시도합니다. 현재에는 시스템 및 네트워크 부분에 대해서는 상당부분 강화가 많이 되고 차단이 되는 상태라 주된 초기 침입지점은 Web을 통한 침입지점이 많습니다만.. 침입 이후에 진단되는 부분은 시스템/ 네트워크 /Application 영역을 막론하고 모두 해당이 되므로 모든 부분에 대한 능력을 보유하고 있어야 됩니다. 최소한 어느 곳에 어떤 정보가 있고 이런 유형에는 어떤 문제가 있다라는 Feeling이라도 지니고 있어야 됩니다.

 

간략하게 살펴보면 나열된 유형의 지식이 존재하여야만 됩니다. 물론 이상적인 경우입니다. 최소한 언급한 네 가지 기술에서 2가지는 필수이고 다른 두 가지는 중급 이상의 능력을 지녀야만 어느 곳에서도 역량 발휘를 할 수 있습니다.

 

필수는 시스템/네트워크 보안기술이며 Application 보안기술과 Penetration Test 의 경우 중급 이상의 능력을 보유하여야만 합니다. 시스템/네트워크 보안 기술만 보유하여도 충분한 기술이라 할 수 있지만 장기적인 안정성은 부족하며 현재의 공격기술 발전상황을 따라 갈 수 없는 상황이라 할 수 있습니다.

모의해킹과 Application 보안 기술 각각만 하여도 충분히 인정 받을 수 있으나 장기적으로는 세부 기술에 대한 이해와 범위를 확대 하고 끊임없이 노력하여야만 장기적인 발전 통로를 확보 할 수 있습니다. 작금의 국내 보안인력들은 인력풀은 매우 협소하나 충분한 역량 발휘가 가능한 인력들이 다수 있다고 볼 수 있으며 각 세부부분에 너무 치중하여 전체적인 균형이 부족한 부분이 작은 흠이라고 봅니다. [ 물론 제가 이런 말을 할 입장은 아닙니다만 ^^ ; 사견이므로  용서가 되리라 봅니다.]

 

 

보안관리자 [Security Manager]

 

보안관리자라는 용어에는 앞서 서두에서 GSM[General Security Manager] SSM[Special Security Manager]라고 구분을 지을 수 있다고 하였습니다. 대상이 무엇이냐에 따라 달라집니다만.. General Security Manager의 구성요소는 일반적으로 많이 아시는 자격증을 생각 하시면 됩니다. CISA , CISSP등과 같은 유형은 보안의 폭넓은 부분을 다루고 있으며 깊이보다는 넓이에 치중을 하고 있습니다. 물론 물리적인 보안 부분도 넓게 다루고 있습니다. 지켜야 할 대상의 범주에 따라 구분을 하시면 됩니다. 서비스의 제공이 아닌 제품의 제조 또는 연구결과물에 대한 보호가 필요한 기업이나 굴뚝형 기업[지켜야 할 그 무엇이 있는 기업? ]의 경우 GSM[ General Security Manager 이후 약어로 GSM이라 칭함]의 역할이 필요합니다. 물리적인 보안 조치 및 정책적인 보호 이슈 등에 대해서 대비를 하고 준비를 하면 일정 수준 이상의 보안 대응이 가능합니다. 물론 일부 IT 관련된 보호 대책도 논의가 되고 있으나 그다지 특화된 서비스라 보기는 어렵습니다.

 

 

GSM[General Security Manager]

 

상당히 폭넓은 분야에 대한 상대적으로 가벼운 지식[?]이 필요합니다. 그 동안의 ISO 인증이나 정통부의 인증 부분도 유사유형이라고 볼 수 있으며 이런 인증들이 IT서비스의 위험을 막을 수는 없습니다. 그러나 최소한의 대응과 준비는 할 수 있게 해준다는 점에서 의의를 찾을 수 있습니다. 외부와의 접촉 통로가 물리적인 방식 외에는 없을 경우 이 부분에 대한 대책을 진행 하면 됩니다. 이 부분도 심도 있게 들어갈 경우에는 많은 고민이 필요합니다만 지켜야 할 그 무엇에 대한 관점에 따라 달라집니다. GSM이 관장하는 영역을 일반보안이라고 칭하기도 하고 산업보안이라고도 할 수 있을 것입니다. [ 대략적인 업무에 대해서는 알고 있으나 상세 발전 내용에 대해서는 자세히 알고 있지 못하므로 표현에 대해 넓은 양해를 바랍니다.]  물리적인 보안 및 PC 보안에 대한 부분과 통제 부분이 주된 부분이 되며  BCP [ Business Continuity Planning] 영역으로 넘어가 전사적인 비즈니스 연속성 관점에서 이루어 지기 위해서는 GSM 영역도 매우 사려 깊고 심도 있는 지식과 이해가 필요한 부분이 됩니다. 그러나 이해를 하기 위해서 필요한 지식 부분은 GSM 보다는 SSM 영역에서 BCP에 접근하는 것이 더욱 손쉬운 길이며 또한 BCP를 수행 하기 위해서는  보안전문가 영역의 수준을 이해 할 수 있어야 됩니다. 이제는 자연재해만이 재해가 아니며 대규모 해킹이나 지속적인 DDoS에 따른 장애도 BCP에 포함이 되어야 하기에 더욱 그렇습니다.

 

 

 

SSM [ Special Security Manager]

 

Special Security Manager라 불릴 수 있는 보안관리자는 이제 걸음마 단계라고 할 수 있습니다. 보안전문가 수준에서 올라 갈 수 있는 레벨이라고 보시면 됩니다. GSM이 다른 영역에서도 보다 손쉽게 초기에 진입을 할 수 있다면 SSM은 매우 어렵습니다. 상당한 기간의 보안전문가 수준을 거쳐야만 가능하기 때문입니다. GSM은 시장에 초기 진입은 쉬우나 발전 양상에 따라 매우 어려운 상황에 처할 수 있으며 중대 사고 발생시에 빠른 판단과 대응을 하지 못함에 따라 문제가 심각해 질 가능성이 있습니다.

 

보안전문가와 Special Security Manager와의 차이점은 몇 가지 안됩니다.

 

보안 전문가 영역에 대한 이해를 기본 바탕으로 하고 현재의 공격이나 위협의 흐름에 대한 인식과 배움을 게을리 하지 않은 SSM들에게 요구되는 것은 현상에 대한 판단능력과 위협에 대한 대응 능력이 가장 필요합니다.. 보안 전문가들이 개별 사안에 대해 문제점을 진단하고 위협을 나타낸 것을 가지고 전체 서비스 분야에서 이 문제가 어떤 파급효과를 가져 올 수 있고 향후에 어떤 위험이 될 수 있다는 것을 판단하고 과감하게 행동에 옮길 수 있어야만 SSM 이라 할 수 있습니다. 자리를 차지 하고 있다고 관리자가 아니며 판단과 책임이 동반됨을 인지하고 기민하게 움직이고 판단/ 대응 하는 능력.. 이런 능력을 지닌 자가 Special Security Manager라 할 수 있습니다.

 

한국의 IT서비스 역사는 일천합니다. 좋게 봐도 10년이 한계입니다.  IT서비스 역사에서 보안이라는 기술 부문은 매우 거친 환경에서 자생 할 수 밖에 없었고 더욱이 서비스에 대한 이해를 하고 있는 보안관리자는 거의 없다고 볼 수 있습니다. 이제서야 보안전문가들이 보안관리자 영역에 접근을 하고 있는 시점에서 보면 좀 더 많은 시간이 지나야 각 IT 서비스 부문에 대해 특화된 전문적인 보안관리자들을 만날 수 있을 것입니다.

 

대규모 해킹 사고가 나거나 백도어가 발견 되었을 때 취할 수 있는 행동에 따라 GSM SSM의 행동 동선과 사고의 동선도 다르며 손쉽게 구분이 될 수 있습니다. 실효적인 대응 조치가 무엇이고 당장 무엇을 해야만 하는지 또 보안대책의 이행에 따른 서비스의 장애가 충분히 감내 할만 하고 그만큼의 가치가 있는 작업인지에 대해서 기술적으로 판단을 하여야 합니다. 이런 판단은 SSM 만이 명쾌하게 내릴 수 있습니다. GSM의 경우는 IT 서비스 부문에서 현상에 대한 판단 능력과 위협에 대한 대응 능력이 느릴 수 밖에 없으며 서비스 부문에서의 대응에서 느림이라는 것은 종말과도 같은 결과를 가져오게 됩니다.

 

Global 부문에서도 마찬가지 입니다. IT 서비스를 하는 모든 기업들 [ 사용자와의 인터페이스를 중시하고 사업모델인 모든 기업]에게 SSM은 매우 필요한 존재이며 이런 존재는 보안전문가와 함께 전문가집단을 구성함으로써 완전함을 이룰 수 있습니다. 완벽하게 방어하는 것이 아닌 공격기술과의 격차를 최소화 하고 빠르게 대응하는 체제만이 향후의 IT 서비스에 긍정적인 역할을 할 수 있고 최선의 결과를 가져 올 수 있습니다

 

Web2.0이 화두입니다.

Web2.0의 기본 모토는 사용자와의 호흡입니다. 호흡을 하기 위한 도구로 Internet이 사용됩니다. Web2.0을 표방하는 기업은 이 호흡에서 이익을 창출합니다. 사람들은 모두 위험성은 외면한 채로 이득만을 바라봅니다. 그러나 이런 이득은 오래 지속 될 수 없습니다. 위험에 대한 대비가 없고 준비가 없는 상태에서는 기껏 이루어 놓은 것들 조차도 순식간에 사라질 수 밖에 없습니다

 

 

 

Security Manager Security Officer

 

보안관리자와 CSO [ Chief of Security Officer]의 차이는 경영을 보는 눈에 있습니다. 보안관리자는 현실에서의 최선을 추구합니다. 그러나 경영을 보는 관점에 따라 ..회사의 수익구조와 발전방향을 이해하고 있는 CSO에게서는 적절한 수준의 대응과 미래에 대한 준비를 고민 할 수 있습니다. 수익에 기여 할 수 있는 부분을 찾고 보안이라는 역할을 수익에 직접 기여 하고 가장 큰 위험요소를 전략적으로 선별하여 제거 하도록 하는 관점이 있습니다. 모든 부분에 힘을 쏟을 수 없으므로 중요한 부분을 찾아서 선별적으로 힘을 집중하여 대응을 하는 큰 그림을 그릴 수 있는 능력이 있습니다. 보안관리자와 CSO의 차이는  경영을 보는 관점과 수익창출에 기여 할 수 있는 부분을 가려내는 능력에 있다고 봅니다. 물론 CSO의 경우에도 기술적인 의견들에 대해서는 판단을 하여야만 합니다. 서비스의 중지라는 극단적인 선택을 택하면서도 이러한 선택이 장기적인 관점에서 이익임을 이해 할 수 있어야만 합니다. 서비스의 중지가 필요한 사안인지에 대한 판단능력을 CSO가 가지고 있어야만 함은 당연한 이야기입니다. 최소한 보안전문가와 보안관리자의 의견을 종합하여 분석하고 판단할 수 있는 능력은 있어야 CSO라 할 수 있을 것 같습니다.

 

Security Manager Security Officer는 아직 경험해 보지 못한 영역[물론 앞으로도.. ^^]입니다. 따라서 단편적으로 제가 보는 시각에서 논의 하는 것이 부적절 할 수 있습니다만 개인의 관점에서 바라본 입장임을 양해 바랍니다..

 

이상과 같이 Security Specialist  Manager [ GSM  SSM] , Officer에 대해서 나름대로 생각하는 부분을 정리해 보았습니다. 자판 가는 대로 쓰다 보니 어설픔이 곳곳에 배여 있습니다 GSM [ General Security Manager ]은 물리적인 보안 부분과 정책적인 보안 부분에 대한 집중도가 높습니다. SSM [ Special Security Manager]는 기술과 동향에 대한 이해도가 높으며 집중도가 높습니다. Specialist Generalist의 영역 관점에서 보았을 때 최소한 IT 서비스 보안이라는 부분에서는 Specialist가 더 중요한 존재입니다. SSM의 중요성이 GSM의 중요성 보다 더욱 크다는 이야기 입니다.

 

SSM은 키우기도 어렵고 서비스에 대한 이해도가 높아지기 위해서는 많은 시간이 필요한 부분입니다.보안전문가와 Special Security Manager의 조합은 변화무쌍한 Web 2.0 환경과 그 이상의 복잡한 환경에서 기업의 안정성을 보장하고 빠르게 변화하는 공격 기술로부터 IT서비스를 지킬 수 있는 조합이라 할 수 있습니다.

 

IT 서비스 측면에서 보안전문가와 보안관리자[SSM]의 필요성과 차이, 구분에 대해서 느끼는 대로  적어 보았습니다 마지막으로 국내의 IT서비스 환경에서도 보안전문가의 중요성과 각 서비스 환경에 능숙한Special Security Manager의 양성에도 많은 관심이 있었으면 합니다.

 

좋은 하루 되세요.   2007.3.6

 

* 사족으로 그 동안 여러 회사에서  Security manager들과 많은 일들을 해보았습니다만 보안은 행동하지 않으면 아무것도 없는 허상입니다. 말과 문서로 이루어 지는 것은 실제의 서비스에 많은 영향을 주지 못함은 당연한 사실입니다. 보안전문가의 말이 통하지 않고 판단이 늦어지는 문제는 IT서비스 부분에서 치명적인 결과를 가져온 것을 종종 보았습니다. ^^;

Posted by 바다란

댓글을 달아 주세요

해커의 길 II
 
해커의 육성 부분에 대해서는 할 말이 많습니다. 90년대 후반 부터 2000년 초반 까지 약 2~3년간 활발하게 활성화 되어 인력들이 척박한 환경에서도 많이 나왔습니다. 지금 그 인력들 뭐하고 있을까요?..
 
해커로서가 아니라. 조직에 동화된 이후에 조직에 끌려 갈 수 밖에 없고 또 가장 중요한 연구문화가 활성화 될 수 없는 환경 때문에 다들 떠납니다. 또 그런 여유를 허가 하지도 않고. 연구가 없이 어찌 취약성을 발견할 수 있고 미래 위협을 대처할 수 있나요?..
 
자격증 많이 가진 사람을 보안분야의 유능인력이라고 할 수 있을까요?. 막상 사고나면 전부 나몰라라 하는 판국에..
참 재밌습니다. 정보의 제공이나 동향의 예측은 이제 많은 인력이 투입된 국가기관에서 해야 할 것으로 봅니다.  음지에 존재하는 해커들도 그리 많지 않고 이제는 그 레벨도 참 말하기 뭐한 상태죠.
 
변화의 폭은 크고 매우 빠르게 나타나고 있습니다. 특히 보안 분야는 더욱 그렇죠. 기술의 진보도 빠르지만 더욱 빠르게 변화하는 것은 공격기술의 변화입니다. 이걸 파악하고 대책을 수립하고 예측 할 수 있을만한 인력이 자랄 수 있는 환경인가 하는 문제를 제기 합니다.
 
학생때에는 노력하는 것이 가능합니다. 관심을 가지고 각 분야를 조금씩 깊이있게 보는 것이 가능합니다. 그러나 업으로 삼고 하기에는 너무 가혹한 환경이죠. 우리나라와 같은 IT 발전 상황이 빨라서 실험적인 공격이나 장애들이 발생하고 이런 문제를 해결하고 또 공격에 대한 대처를 하고 방향을 수립하고 권고하고 하는 많은 일들...그리고 끊임없이 발전하는 많은 지식 부분을 커버해야 하고 몸은 바쁘고 마음도 급하고 뜻대로 나아가지는 않는 진퇴양난의 상황.
아마 실무에 계신분들이 계시다면 처절히 느끼실 것이고 제가 하는 말에 공감하는 부분들이 있을 것입니다.
 
눈에 보이는 것과 실무에서 느끼는 벽의 차이는 대단합니다. 기술의 차이가 아니라 기본적인 input/ output을 강조하는 단기성과만을 보는 문화적인 이질감의 차이도 상당하죠. 하나의 결과를 내기 위해 몰입하는 구조자체가 될 수가 없죠. 해외의 자본이 넉넉한 보안업체에서 운용하는 security team의 예를 봐도 그러하구요. 그나마 인력을 투입하고 그 인력이 가져오는 장기적인 시너지 효과와 파급효과를 이용할 정도의 규모가 되는 회사는 세계적으로 몇 개 되지 않습니다. 여력이 있어야 되는거죠. 그리고 장기적인 비전이 있어야 되는 것이구요. 우리나라내에서는 쉽지 않은 일입니다. 취약성 하나를 발견하기 위해 하다 못해 6개월간이라도 집중할 시간이 주어 질까요? .. 빠른 변화에 대처하는 것 조차 어렵습니다.
 
 
적응하는 것 쉽습니다. 그리고 적응을 하고 또 보안의 기술을 따라가는 것은 엄청난 희생을 강요합니다.
 
필요한 지식을 언급해 볼까요?..
 
 
프로그래밍 ( C , C++ , Perl , CGI , script [asp , jsp ,php 등] ,Assembly...)
- Exploit도 작성해야 하고 분석도 해야 하며 간단한 exploit 변환 및 가장 많이 발생하는 웹해킹에 대한 분석과 대책을 위해서 스크립트 레벨까지도 익히고 알고 있어야 됩니다. Assembly는 또 각 머신이나 CPU에 따라 다르죠. Spac , X86 등에 대한 Assembly 구조 및 사용법을 능숙하게는 몰라도 익히고는 있어야 됩니다.  한번 intel 사를 방문해서 Assembly에 관련된 매뉴얼을 한번 보시지요. 좀 더 관심 있으시면 구조까지도.. 이 CPU의 구조만도 무어의 법칙을 능가하고 파괴해 가면서 변화하고 있습니다. ^^
 
 
시스템 ( Windows NT / 2000 / 2003 , Linux , Unix , SunOS ,Irix 등등 )
- 최소한 Windows 계열과 Linux 계열은 확실하게 보안대책까지 알고 있어야 됩니다. 다른 운영체제도 기본적인 사항들은 알고 있어야 되죠. 그래야 공격이 가능하고 또 공격이 되었을 경우 대책이 가능합니다. 웜과 바이러스의 경우도 여러 가지의 취약성을 한꺼번에 이용하는 추세입니다. 이걸 알려면 공격자체만이 중요한 것이 아니라 시스템에 어떤 영향을 미칠지를 판단 할 수 있어야 되고 추적할 수 있어야 됩니다. 또 나아가서 네트워크 영역에 어떤 영향을 미칠지 까지도 파악할 수 있어야 되죠. 이런 인력이 없음은 지난 2년전의 1.25때에도 분명하게 입증이 되었습니다. 지금은 나아 졌을까요?. ^^;
 
네트워크 ( TCP/IP 뿐 아니라 802.X 대역에 대한 무선 프로토콜에 대한 이해 )
- 무선 관련 네트워크 및 테스팅 , 네트워크 상에서 발생하는 장애들에 대한 이해 ( 최소한 장애와 해킹에 의한 DDOS 상황쯤은 구분할 수 있어야 되며 문제를 해결 할 수 있어야 됨 ) . 전 세계 무선 AP중 무시할 수 없는 수치가 국내에 설치가 되어 있습니다. 이런 AP를 이용한 문제점들이나 해킹등에 대한 고려는 지금껏 충분히 있어 왔는지요..^^;
 
장비에 대한 이해 ( IDS -수십종 , IPS , Firewall , Router , Switch 등등)
- 네트워크 및 각 장비들의 특성과 로그에 대한 이해 취약성에 대한 이해 등등
네트워크 장비는 2000년 초반을 기해 메가 단위에서 기가 단위로 넘어 왔습니다. 국내의 네트워크 환경도 몇 년 사이에 급격하게 바뀌었고 보안장비들도 대부분이 기가급을 사용합니다. 이런 장비에 대한 기본적인 이해 그리고 근본적인 이해가 되어 있는지요?.. 아주 바쁘게 해야 됩니다. ^^; 장비 회사도 많고 장비 출시도..또 여러 종류의 장비를 쓰는 곳이 기본입니다.
 
 
영어 능력 ( 대부분의 정보 획득을 하기 위한 노력)
 
- bugtraq , vulnwatch 등의 메일링 수시 점검 및 해외 보안 관련 사이트에서의 이슈사항 점검 및 exploit 이나 vulnerability에 대한 서치 능력이 있어야 됩니다.
 
대표적으로 위의 5가지 부분만 들겠습니다.
위의 네 가지 중 한 가지 만이라도 제대로 하는 것이 어렵습니다.  위의 요소에서 상위권인 것이 2개 정도는 되어야 하며 나머지는 남들 하는 수준은 되어야 됩니다. 그래야 가능성이 있습니다.  하나 정도만 제대로 해도 전문가 소리 듣습니다. 그러나 모의해킹은 이 전분야를 몇몇은 깊이 있게 몇몇은 남들 정도는 알고 있어야 됩니다. 이런 난이도와 기술적인 요구를 누가 알까요?
 
요소를 보면  거의 IT 발전의 모든 부분에 끼여 있고 중요요소가 됩니다. 이걸 개인 차원에서 하기에는 이젠 속도가 따라주지 않습니다. 클럽 단위로도 한계가 있구요. 대대적으로 활성화 하려면 지금의 예를 봐야 됩니다. 지금은 어떻게 변화 되었는지.. 아니면 예전에 활동하던 사람들이 지금은 무엇을 하고 있는지를... 왜 그렇게 되었고 문제는 무엇인지를 ..
 
 
왜 그렇게 되었는지에 대한 이해가 필요하죠. 압축성장이 제품의 선정 및 대량 생산을 통해서 이루어 지고 대표적인 우리의 성장 방식입니다. IT 부분도 압축성장입니다. 그러나 인력의 축적이나 문화의 축적은 아주 오랜 기간이 걸릴 것입니다. 이 말은 갭이 생길 수 밖에 없고 이 갭의 부분을 상당기간 의존 할 수 밖에 없다는 이야기 입니다.
 
그렇다고 인력을 육성하지 않을 수도 없습니다. 대표적으로 자격증을 통해 인력 양성하는 것은 최소한 다른 분야는 몰라도 보안분야에서만은 쉽게 되지 않습니다. 관리적 보안 분야는 단기간 대량의 인력이 양성 가능하고 일정 시점 이나 프로젝트 경험 이후에 숙성이 될 수 있다고 봅니다. 그러나 시스템 이나 기술적인 분야의 보안 분야 인력 양성은 매우 시간이 많이 걸릴 것이고 자발적으로 할려는 의지가 있는 사람이 없는 이상 어렵습니다. 대대적으로 포럼을 가지고 활성화 하고 상호간의 교류가 되어야 하는데 거의 교류가 없죠.
이런 문제들을 짚어 보아야 할 것 같습니다.
 
98년 쯤에 해커의 길이라는 글을 쓴 적이 있습니다. 그때와 비교하여 지금의 진보는 매우 빠릅니다. 기술의 진보가 매우 빠르고 변화의 폭이 큰 상태라 참 어렵다고 할 수 있습니다. 지금 해커의 길 II 를 쓰라고 한다면 정말 ..취미가 가장 좋을 것 같습니다. 한 가지 부분에서의 취미로 깊이를 이루는 것이 가장 좋은 길이 아닐까요?..  가장 쓰라리고 인내가 필요한 길이고 만족도는 있으나 세월이 지나면서 부딪히는 벽이 많이 있다는 점 ... 
이런 글을 쓰면서도 저는 아직 현역에 있습니다. 모의해킹 뿐 아니라 CERT 영역까지 폭넓게 운신을 하고 있지만 마음이 상당히 아프고 상하는 것은 어쩔 수 없네요. ^^; 저 조차도 위에 언급한 5가지의 영역에서 자유롭지 못한 부분들이 있습니다. 그리고 몇몇 분야에서는 깊이조차 없어서 허덕이는 것들도 있구요. 게을리 하지 않고 한 눈 팔지 않았음에도 이렇습니다.
 
 
언젠가는 쓰임이 있을 것입니다. 그때에 이르기 까지는 한순간도 호흡을 늦춰서는 안되는 것이구요. 그 언젠가가 올지 안올지는 모르지만 말입니다.
 
우리의 IT 산업 그리고 그중에 보안 분야는 시간이 지나고 보다 많은 쓰라린 경험들이 있게 되면 자연치유력에 의해 부족한 부분들이 보완이 될 것입니다. 그러나 아직 우리는 기술적인 스페셜리스트를 지니기엔 부족한 사회문화입니다.  이게 정답이라고 봅니다. 그렇다고 노력을 안할 수는 없겠죠. 이 노력을 인력 자체가 노력해서 채우라고 하기에는 너무 가혹하지 않나 하는 생각입니다.
 
 
물론 전부 제 생각입니다. 많은 의견 부탁합니다.
Posted by 바다란

댓글을 달아 주세요

  1. darkhi 2010.07.02 15:25  댓글주소  수정/삭제  댓글쓰기

    매번 잘 보고 갑니다.
    자만에 빠지기 쉬운 상황이었는데 한없이 부족하단걸 느끼고
    좀 더 열심히 공부해야겠습니다.

KISA에서 제작하는 온라인 게임 해킹 대응 가이드에 실린 글입니다.

 

 

해외진출 시의 보안상 주의 사례 :

 

2000년도 이후부터 우리의 온라인 게임들은 해외에 다수 진출 하였다. 현지 퍼블리싱 업체와 손을 잡고 합작 진출을 한 경우와 직접 진출을 한 경우를 볼 수 있다. 대표적인 해외 진출 국가는 중국/일본/미국을 들 수 있으며 국가는 계속 확대 되는 추세이다. 저작권 법이나 불법 운용에 대한 부정적인 인식이 떨어지는 중국의 경우에는 해외 진출 업체가 지난 몇 년간 곤혹스런 경험을 한 적이 다수 있는 상황이다.

 

예를 들어 현지 업체와 계약을 맺고 상용화 단계에 까지 성공을 하였는데도 입금이 되지 않거나 현지 업체가 고객의 결재 내역을 공개하지 않아 정확한 수치를 확인 하기도 힘든 상황을 맞이 하기도 한 상황이 있고 대금 지급과 관련된 분쟁으로 오랜 기간 동안 힘든 싸움을 했던 경우도 있다.

 

섣부른 로컬라이징 서버의 제공으로 인해 권리 주장도 하지 못한 채 Free 서버 및 독자적인 현지 업체의 상용화로 곤란을 겪은 사례도 있어서 주의가 요구된다.

 

일반적으로 해외 진출 시의 검토 단계는 다음과 같이 이루어 진다.

 

사전 조사 -> 진행 -> 계약 -> 계약 이후의 이행 단계

 

사전조사 단계에서는 시장성에 대한 조사 및 현지 업체에 대한 정보 수집 등이 이루어 지며 면밀한 조사가 필요한 부분이다. 각 게임 개발사들에서 실적을 우선적으로 진행 하다 보면 사전 조사 단계에서의 정보 수집 부족으로 난항을 겪을 수 있다.

 

진행:

현지인 Agent 및 퍼블리셔 들과의 미팅을 통해 신뢰할 만한 파트너 관계를 찾는 과정이다. 서비스에 대한 명확한 이해를 하고 있으며 신뢰할 만한 파트너 인지 여부를 확인 하는 과정이 필요하며 상호간의 서비스 진행에 대한 협조 관계가 성립 할 수 있는지 여부를 검토하고 신중하게 진행을 해야 한다.

직접 진출의 경우에는 현지 국가에 대한 법령 및 체제에 대한 이해 및 법인 설립시의 Risk 요인을 검토하고 종합적으로 판단을 내릴 수 있어야 한다.

 

계약:

간접 진출의 경우 계약 단계에서 고려해야 할 사안들이 많다. WTO 가입 이후에도 저작권에 대한 인식이 약한 중국의 경우에는 국내 게임 업체들의 피해 사례도 다수 있는 상태라 여러 부분에서 주의를 기울여야 하는 부분이다. 계약의 당사자가 신뢰할 만한 당사자인지 또는 과거에 피해를 당한 업체가 있는지를 체크하는 것이 필요하며 피해의 원인 분석 및 원인에 따른 대응 단계를 계약 단계에서 명확하게 문서화 하는 것이 필요하다.

 

계약 이후의 이행단계:

명확하게 대금 지급 과정 및 경로에 대해서 계약단계에서 명확하게 기술 하는 것이 필요하며 해당 내용에 따라 이행하는 단계로서 문제에 대한 해결 [ Hacking 이나 Abusing에 대한 대응] 조건 및 소스코드에 대한 관리 및 서버 운용에 대한 책임등을 명확하게 한 후 이행하는 과정을 검토하는 것이 필요하다.

 

일반적으로 사전조사 , 진행 , 계약 , 이행의 단계로 볼 수 있는데 여러 가지 위험요소가 있을 수 있으나 여기에서는 보안 관련된 측면만 살펴 보기로 하자. 해외 진출 시의 주의 사항은 보안적인 측면에서 살펴보면 다음과 같은 면을 살필 수 있다.

 

위험:

1.       소스코드의 유출

2.       Free 서버 운용 [ 서버 시스템의 관리 및 통제 ]

3.       물리적인 서버의 보안

4.       service에 대한 해킹을 통한 정보 유출 및 권한 획득

5.       게임 서비스에 대한 장애 [ 운용상의 미숙 혹은 외부로부터의 DoS 공격]

6.       게임내의 아이템 등에 대한 내부 유출 문제

 

위험 요소는 크게 6가지 정도로 볼 수 있다. 각 항목에 대해 계약 단계 혹은 이행 단계에서 지켜지고 준수할 수 있도록 명확한 명문화된 규정이 필요하며 언급이 있어야 향후 문제 발생시에도 원활한 대응이 가능할 것이다.

 

1.소스코드의 유출

해외 서비스 제공 시에는 소스코드의 유출은 가급적 하지 않아야 하며 컴파일된 형태의 서버 버전 및 클라이언트 버전 제공이 필요하다. 협력사의 현지화 요구로 인해 제출해야 할 경우에는 핵심적인 부분을 제외한 나머지 부분에 대해서 협력을 하여야 하며 핵심 부분의 경우에는 본사에서 직접 처리 하거나 인력을 통해 처리 하여야만 한다. 소스코드의 관리는 접근제어 및 권한에 따른 분명한 접근이 가능하여야 한다. 암호화된 매개체에 저장이 되어야 하며 외부 유출 시에도 암호화 되어 보호가 가능하여야 한다.

 

2.Free 서버 운용

게임서버의 이미지 유출 및 도난 으로 인하여 Free 서버가 운용될 경우에는 현지 업체와의 계약 단계에서 해당 문제에 대한 언급이 있어야 한다. 동시접속자의 감소로 인한 피해를 현지 업체의 문제가 아닌 경우로 판단하고 책임을 미루는 경우가 있으므로 Free 서버 운용에 대해서는 현지 업체에서의 모니터링 및 대응에 대한 책임이 있음을 분명히 하고 책임감을 지닐 수 있도록 하여야 한다. 지속적인 단속의 경우도 해외 진출국에서만 가능한 부분이므로 진출사의 입장에서는 어려운 부분들이 있을 수 밖에 없다.

 

3.물리적인 서버의 보안

대부분 IDC에 서버가 위치하게 되는데 물리적인 접근 제어 및 권한 통제가 분명하지 않은 IDC가 국가에 따라 있으며 IDC라는 용어 자체가 규격화 되지 않은 곳들이 있다. 또한 지방에서 운영되는 영세 IDC의 경우에는 물리적인 보안 요소를 갖추지 못하고 있으므로 서버의 운영 시에는 물리적인 보안 수준을 준수하는 IDC를 직접 확인 한 이후 본사 차원에서 모니터링 하는 것이 필요하다. 웹캠 혹은 추가 비용을 들여서라도 접근을 통제 하는 것이 필요하며 개발사 자체에서 운영을 하는 것이 필요하다. 영세 업체의 경우에는 현지 퍼블리싱 업체와의 계약 단계에서 명문화 하는 것이 필요하며 IDC에 대한 접근 통제 수준을 확인 하는 것이 반드시 필요하다.  서버 자체에도 고유 Mac Address 등을 인식하여 중앙 본사 차원에 접근을 하여야 실행이 되도록 하는 고유 기술을 두어 중앙 통제가 가능하여야만 한다. 최소한 서버의 외부 유출 시에도 정상적인 서비스가 실행 될 수 없도록 하는 보안 장치는 염두에 두어야만 한다.

 

4.service에 대한 해킹을 통한 정보 유출 및 권한 획득

웹 서비스에 대한 수정이나 이벤트 진행 시에 보안상 취약한 부분이 있을 경우 서비스에 대한 해킹이 발생 할 수 있다. 권한 획득도 가능한 취약성들이 다수 있으므로 Database 및 사용자 정보가 보관된 곳은 외부 노출 시에도 문제가 발생하지 않도록 암호화 하여 보관하는 것이 필수적이며 평문 보관의 경우 치명적인 피해를 입을 수 있다. 피해 발생 시에는 피해에 대한 원인 파악에 따라 보상하는 것이 일반적이므로 해당 규정을 명문화 하는 것도 필요한 사안이다.

 

5.게임 서비스에 대한 장애 [ 운용상의 미숙 혹은 외부로부터의 DoS 공격]

운용상의 미숙 및 외부로 부터의 공격에 대해 현지 업체가 원활한 대응을 하지 못하여 서비스 장애가 발생 하였을 경우 개발사의 품질을 의심하는 사례가 다수 있으므로 문제 발생 시에는 판단하게된 기록의 제공 및 대응 내역을 문서화 하여 공조 하는 것을 검토 하여야 한다. 명확하게 하여야만 피해의 원인 파악 및 보상등에 대해서 논의 하는 것이 가능해 진다.

 

6. 게임내의 아이템 등에 대한 내부 유출 문제

현지 업체의 내부자에 의해 접근이 가능한 Admin Tool의 경우 아이템의 외부 노출등 상당한 위험요소가 존재하므로 신뢰성 있는 직원, 정보보호 교육에 대한 의무화 등에 대해서도 검토를 하는 것이 필요하다. Database에 접근하는 모든 로그들은 삭제할 수 없는 형태로 별도 보관하여 차후에 증빙 할 수 있는 자료로 삼아 보상 및 피해 규모를 산정 할 수 있도록 하는 것이 좋으며 초기 서비스 설비의 설계단계에서부터 최종 정보가 위치하는 Database에 대한 접근 기록에 대해서는 별도 관리가 필요하므로 고려 하여야만 한다.  접근 가능자에 대한 축소 및 주기적인 Auditing도 필요한 부분이며 문제 발생시에는 현지 퍼블리싱 업체가 전적인 책임을 질 수 있도록 명문화 하는 과정도 고려 하여야 한다.

 

 

이상과 같이 해외 진출 시 고려 부분들에 대해서 보안이라는 측면에서 간략하게 알아 보았다. 표준적인 내용은 아니며 다수 발생한 사례들을 기준으로 하여 해당 문제들이 발생하지 않기 위해서는 어떤 점을 고민해야 하고 대안으로 무엇이 있을 수 있는지를 간략하게 알아 보았다. 문제가 발생하는 상황은 많으며 계약의 조건도 다를 수 있다. 그러나 기본적으로 발생하는 6가지 형태의 문제들에 대해서 대책을 가지고 해외 진출을 하게 된다면 보안상 발생하는 문제들에 대해서는 일정 수준 이상의 해결 능력을 지니게 될 것이다.

 

written by p4ssion

Posted by 바다란

댓글을 달아 주세요

KISA에서 제작하는 온라인 게임 해킹 대응 가이드에 실린 글입니다.

 

 

해외진출 시의 보안상 주의 사례 :

 

2000년도 이후부터 우리의 온라인 게임들은 해외에 다수 진출 하였다. 현지 퍼블리싱 업체와 손을 잡고 합작 진출을 한 경우와 직접 진출을 한 경우를 볼 수 있다. 대표적인 해외 진출 국가는 중국/일본/미국을 들 수 있으며 국가는 계속 확대 되는 추세이다. 저작권 법이나 불법 운용에 대한 부정적인 인식이 떨어지는 중국의 경우에는 해외 진출 업체가 지난 몇 년간 곤혹스런 경험을 한 적이 다수 있는 상황이다.

 

예를 들어 현지 업체와 계약을 맺고 상용화 단계에 까지 성공을 하였는데도 입금이 되지 않거나 현지 업체가 고객의 결재 내역을 공개하지 않아 정확한 수치를 확인 하기도 힘든 상황을 맞이 하기도 한 상황이 있고 대금 지급과 관련된 분쟁으로 오랜 기간 동안 힘든 싸움을 했던 경우도 있다.

 

섣부른 로컬라이징 서버의 제공으로 인해 권리 주장도 하지 못한 채 Free 서버 및 독자적인 현지 업체의 상용화로 곤란을 겪은 사례도 있어서 주의가 요구된다.

 

일반적으로 해외 진출 시의 검토 단계는 다음과 같이 이루어 진다.

 

사전 조사 -> 진행 -> 계약 -> 계약 이후의 이행 단계

 

사전조사 단계에서는 시장성에 대한 조사 및 현지 업체에 대한 정보 수집 등이 이루어 지며 면밀한 조사가 필요한 부분이다. 각 게임 개발사들에서 실적을 우선적으로 진행 하다 보면 사전 조사 단계에서의 정보 수집 부족으로 난항을 겪을 수 있다.

 

진행:

현지인 Agent 및 퍼블리셔 들과의 미팅을 통해 신뢰할 만한 파트너 관계를 찾는 과정이다. 서비스에 대한 명확한 이해를 하고 있으며 신뢰할 만한 파트너 인지 여부를 확인 하는 과정이 필요하며 상호간의 서비스 진행에 대한 협조 관계가 성립 할 수 있는지 여부를 검토하고 신중하게 진행을 해야 한다.

직접 진출의 경우에는 현지 국가에 대한 법령 및 체제에 대한 이해 및 법인 설립시의 Risk 요인을 검토하고 종합적으로 판단을 내릴 수 있어야 한다.

 

계약:

간접 진출의 경우 계약 단계에서 고려해야 할 사안들이 많다. WTO 가입 이후에도 저작권에 대한 인식이 약한 중국의 경우에는 국내 게임 업체들의 피해 사례도 다수 있는 상태라 여러 부분에서 주의를 기울여야 하는 부분이다. 계약의 당사자가 신뢰할 만한 당사자인지 또는 과거에 피해를 당한 업체가 있는지를 체크하는 것이 필요하며 피해의 원인 분석 및 원인에 따른 대응 단계를 계약 단계에서 명확하게 문서화 하는 것이 필요하다.

 

계약 이후의 이행단계:

명확하게 대금 지급 과정 및 경로에 대해서 계약단계에서 명확하게 기술 하는 것이 필요하며 해당 내용에 따라 이행하는 단계로서 문제에 대한 해결 [ Hacking 이나 Abusing에 대한 대응] 조건 및 소스코드에 대한 관리 및 서버 운용에 대한 책임등을 명확하게 한 후 이행하는 과정을 검토하는 것이 필요하다.

 

일반적으로 사전조사 , 진행 , 계약 , 이행의 단계로 볼 수 있는데 여러 가지 위험요소가 있을 수 있으나 여기에서는 보안 관련된 측면만 살펴 보기로 하자. 해외 진출 시의 주의 사항은 보안적인 측면에서 살펴보면 다음과 같은 면을 살필 수 있다.

 

위험:

1.       소스코드의 유출

2.       Free 서버 운용 [ 서버 시스템의 관리 및 통제 ]

3.       물리적인 서버의 보안

4.       service에 대한 해킹을 통한 정보 유출 및 권한 획득

5.       게임 서비스에 대한 장애 [ 운용상의 미숙 혹은 외부로부터의 DoS 공격]

6.       게임내의 아이템 등에 대한 내부 유출 문제

 

위험 요소는 크게 6가지 정도로 볼 수 있다. 각 항목에 대해 계약 단계 혹은 이행 단계에서 지켜지고 준수할 수 있도록 명확한 명문화된 규정이 필요하며 언급이 있어야 향후 문제 발생시에도 원활한 대응이 가능할 것이다.

 

1.소스코드의 유출

해외 서비스 제공 시에는 소스코드의 유출은 가급적 하지 않아야 하며 컴파일된 형태의 서버 버전 및 클라이언트 버전 제공이 필요하다. 협력사의 현지화 요구로 인해 제출해야 할 경우에는 핵심적인 부분을 제외한 나머지 부분에 대해서 협력을 하여야 하며 핵심 부분의 경우에는 본사에서 직접 처리 하거나 인력을 통해 처리 하여야만 한다. 소스코드의 관리는 접근제어 및 권한에 따른 분명한 접근이 가능하여야 한다. 암호화된 매개체에 저장이 되어야 하며 외부 유출 시에도 암호화 되어 보호가 가능하여야 한다.

 

2.Free 서버 운용

게임서버의 이미지 유출 및 도난 으로 인하여 Free 서버가 운용될 경우에는 현지 업체와의 계약 단계에서 해당 문제에 대한 언급이 있어야 한다. 동시접속자의 감소로 인한 피해를 현지 업체의 문제가 아닌 경우로 판단하고 책임을 미루는 경우가 있으므로 Free 서버 운용에 대해서는 현지 업체에서의 모니터링 및 대응에 대한 책임이 있음을 분명히 하고 책임감을 지닐 수 있도록 하여야 한다. 지속적인 단속의 경우도 해외 진출국에서만 가능한 부분이므로 진출사의 입장에서는 어려운 부분들이 있을 수 밖에 없다.

 

3.물리적인 서버의 보안

대부분 IDC에 서버가 위치하게 되는데 물리적인 접근 제어 및 권한 통제가 분명하지 않은 IDC가 국가에 따라 있으며 IDC라는 용어 자체가 규격화 되지 않은 곳들이 있다. 또한 지방에서 운영되는 영세 IDC의 경우에는 물리적인 보안 요소를 갖추지 못하고 있으므로 서버의 운영 시에는 물리적인 보안 수준을 준수하는 IDC를 직접 확인 한 이후 본사 차원에서 모니터링 하는 것이 필요하다. 웹캠 혹은 추가 비용을 들여서라도 접근을 통제 하는 것이 필요하며 개발사 자체에서 운영을 하는 것이 필요하다. 영세 업체의 경우에는 현지 퍼블리싱 업체와의 계약 단계에서 명문화 하는 것이 필요하며 IDC에 대한 접근 통제 수준을 확인 하는 것이 반드시 필요하다.  서버 자체에도 고유 Mac Address 등을 인식하여 중앙 본사 차원에 접근을 하여야 실행이 되도록 하는 고유 기술을 두어 중앙 통제가 가능하여야만 한다. 최소한 서버의 외부 유출 시에도 정상적인 서비스가 실행 될 수 없도록 하는 보안 장치는 염두에 두어야만 한다.

 

4.service에 대한 해킹을 통한 정보 유출 및 권한 획득

웹 서비스에 대한 수정이나 이벤트 진행 시에 보안상 취약한 부분이 있을 경우 서비스에 대한 해킹이 발생 할 수 있다. 권한 획득도 가능한 취약성들이 다수 있으므로 Database 및 사용자 정보가 보관된 곳은 외부 노출 시에도 문제가 발생하지 않도록 암호화 하여 보관하는 것이 필수적이며 평문 보관의 경우 치명적인 피해를 입을 수 있다. 피해 발생 시에는 피해에 대한 원인 파악에 따라 보상하는 것이 일반적이므로 해당 규정을 명문화 하는 것도 필요한 사안이다.

 

5.게임 서비스에 대한 장애 [ 운용상의 미숙 혹은 외부로부터의 DoS 공격]

운용상의 미숙 및 외부로 부터의 공격에 대해 현지 업체가 원활한 대응을 하지 못하여 서비스 장애가 발생 하였을 경우 개발사의 품질을 의심하는 사례가 다수 있으므로 문제 발생 시에는 판단하게된 기록의 제공 및 대응 내역을 문서화 하여 공조 하는 것을 검토 하여야 한다. 명확하게 하여야만 피해의 원인 파악 및 보상등에 대해서 논의 하는 것이 가능해 진다.

 

6. 게임내의 아이템 등에 대한 내부 유출 문제

현지 업체의 내부자에 의해 접근이 가능한 Admin Tool의 경우 아이템의 외부 노출등 상당한 위험요소가 존재하므로 신뢰성 있는 직원, 정보보호 교육에 대한 의무화 등에 대해서도 검토를 하는 것이 필요하다. Database에 접근하는 모든 로그들은 삭제할 수 없는 형태로 별도 보관하여 차후에 증빙 할 수 있는 자료로 삼아 보상 및 피해 규모를 산정 할 수 있도록 하는 것이 좋으며 초기 서비스 설비의 설계단계에서부터 최종 정보가 위치하는 Database에 대한 접근 기록에 대해서는 별도 관리가 필요하므로 고려 하여야만 한다.  접근 가능자에 대한 축소 및 주기적인 Auditing도 필요한 부분이며 문제 발생시에는 현지 퍼블리싱 업체가 전적인 책임을 질 수 있도록 명문화 하는 과정도 고려 하여야 한다.

 

 

이상과 같이 해외 진출 시 고려 부분들에 대해서 보안이라는 측면에서 간략하게 알아 보았다. 표준적인 내용은 아니며 다수 발생한 사례들을 기준으로 하여 해당 문제들이 발생하지 않기 위해서는 어떤 점을 고민해야 하고 대안으로 무엇이 있을 수 있는지를 간략하게 알아 보았다. 문제가 발생하는 상황은 많으며 계약의 조건도 다를 수 있다. 그러나 기본적으로 발생하는 6가지 형태의 문제들에 대해서 대책을 가지고 해외 진출을 하게 된다면 보안상 발생하는 문제들에 대해서는 일정 수준 이상의 해결 능력을 지니게 될 것이다.

 

written by p4ssion

Posted by 바다란

댓글을 달아 주세요