간만에 칼리를 실행하고, 바뀐 것에 대해 업데이트를 위해

apt-get update 결과 아래와 같이 출력되었다.


W: An error occurred during the signature verification. The repository is not update and the previous index files will be used. 

S: Some index files failed to download. They have been ignored, or old ones used instead. 


별거없다. 아래와 같이 입력해주면 된다.  


wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add


위의 사진처럼 해결됨을 확인 할 수 있다. 


문제가 무엇이었을까?

칼리 리눅스 트위터를 보면 아래와 같이 게시되어 있다.



주기적으로 update를 하지 않았을 때, archive-keyring 패키지가 outdated된다. 그렇기 때문에 kali의 repository의 키와 일치하지 않아 발생하는 오류이다. 


그나저나 칼리가 <3 라니.. 낯설다 너...


우분투 17.01버전이 나왔다고는 하나, 왠지모르게 신뢰할 수 없어 16.04.2 버전으로 설치함

설치 후 apt-get update를 하는데 아래와 같은 메시지가 출력됨..


E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh > /dev/null; fi'

E: Sub-process returned an error code


한줄이면 끝

sudo apt-get remove libappstream3


다시 apt-get update를 하면 정상적으로 동작하는 것을 확인 할 수 있음!

현재 기준(2017년 4월 17일) 아나콘다 설치 시 파이썬이 3.6으로 기본 설치되어 

윈도우 사용자 기준으로  pip으로 tensorflow가 설치가 안되는 일이 발생한다. 

리눅스나 mac에서는 repository 지정해놓는 글을 본 것 같은데 윈도우는 못찾아서...


(Could not find a version that satisfies the requirement tensorflow (from version: ))


뭐 물론 파이썬3.6에서 3.5 환경에 맞게 바꿔주거나 하는 방법도 있겠다만, 아나콘다 설치 시 3.6을 디폴트로 설치가 되었기때문에 이래 저래 환경 변수 바꿔주는게 번거로울 수 있음


아래 URL에 접속하면 이전버전의 설치가 가능하다.

뭐 패치가 되겠지만, 이전버전이 필요할 수도 있기 때문에 기록~


개인적으로 3.5 추천

https://repo.continuum.io/archive/.winzip/

32비트 유저들은 위에거 다운받으면됨ㅋ


https://docs.continuum.io/anaconda/oldpkglists  //지원하는 버전의 패키지 설치 시 참고


설치 후 파이썬 버전을 확인하면 3.5로 설치된 것을 확인할 수 있다.


원래 우분투 사용할 때 apt-get update가 습관화 되어있는지 pip 도 업그레이드 한번 해주자~~


콘다 설정

>conda create -n tensorflow python=<python version>


텐서플로우를 활성화 시켜주는 것은 아래와 같다.

>activate tensorflow


3.6 때와 달리 설치가 잘되는 것을 확인할 수 있다~


파이썬 눌러주고  tensorflow 임포트 시켜주면 잘 되는 것을 확인할 수 있다.




정정!

왜 ipython이나 spyder에서 텐서플로우를 임포트 시킬 때 에러가 나는 것을 확인해봄

생각해보니 python3 이상은 pip3 아니던가


잘됨ㅋ

가끔 $sudo apt-get update를 할 때

아래 메시지가 발생할 때가 있다. (우분투 14.04기준)


Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)


간단하다.


$sudo rm /var/lib/apt/lists/* -vf

$sudo apt-get update


이번 포스팅에는 국가에서 지원하는 k-shield  인력 양성 프로그램에 대해 소개하고자 한다.

너무 좋았던 프로그램이기에 다른 사람들도 많이 지원 및 인증을 하면 좋을 것 같아 설날 연휴임에도 불구하고 포스팅을 하고자한다.

작년에 취득한 내용을 기반으로 작성하기 때문에 올해 시행하는 것과는 다소 차이가 있을 수 있다.

작년 교육을 신청하였을 때 궁금한 것이 너무 많았으나 자료가 많이 없었던 기억이 있어 누군가에게는 도움이 되면 좋겠다. 


https://academy.kisa.or.kr 에 접속하면 k-shield  인력 양성 프로그램이 있다.
(사전평가 1번, 1차 평가 3번, 2차 평가 3번 총 7번의 시험...)


올해에도 작년과 비슷하게 4월부터 7월까지 1차가 실시된다.


1차 교육은 월,화,수,목,금 모든 요일에 교육이 진행되며 평가가 3번이 있다.


작년에는 3월 17일 사전 평가를 실시하였다. 총 시간은 14:30분에서 15:10분 총 40분동안 시험을 실시하였다.

평가 문항 및 시간: 30문항 40분

장소: 서울시 서초구 서초대로 플래티넘타워


나는 작년에 매주 금요일반으로 수업을 하였다. KISA에서 실시하는 교육은 좋은게 교재, 필기구, 중식이 모두 무료이다 ^^... 더 좋은건 매번 풍부한 과자를 제공해주어 수업시간에 계속 과자를 먹을 수가 있다... 지금 생각해보면 작년 교육기간동안 먹은 과자의 양은 내 평생 먹은 과자와 비슷하지 않을까...라는 생각을 조심스럽게 해본다..


사전 평가 1주일 후 메일이 왔다.. 



나중에 들은 소리인데 나름 경쟁률이 높다고 하였는데 이는 뭐 확인하는 방법이 없으니 자축하면 될 듯하다..


1차 교육

총 13회차동안 교육이 진행이 된다.

일정 및 입과 안내서가 있지만 그대로 올리기에는 찜찜한 면이 있어 대략적으로 텍스트로 적을까한다.

- 보안 사고사례 동향

- 정보보호 컴플라이언스

- 시스템 공격

- 웹 취약점 분석 및 공격

- 악성코드 최신 공격 기법

- 네트워크 패킷 분석

- 악성코드 탐지 및 분석

- 침해사고 사례 기반 공격 기법 및 분석


정도로 강의가 진행된다. 물론 평가가 있다.... 총 3번의 평가가 있다. 1차에서 대략 80명은 떨어진다. 1차는 240명정도이며 2차는 160명 정도 교육 대상자이기 때문에 한 반에서 16명정도는 떨어진다고 보면 된다. 나의 경우, 악성코드는 처음 다루었는데 1차교육에는 악성코드가 중요했기 때문에 간당간당했다....


2차 교육



1차 교육에서 합격을 하면 2차 입과 메일이 온다.

대충 1차 교육이 끝나고 1달 정도 이후에 합격 유무를 사이트에서 확인할 수 있으며, 교육은 9월에 진행되기 때문에 한 달 반정도 이후 교육이 진행된다고 보면 된다.

2차 교육은 1차와 달리 거의 실습형으로 진행이 된다.

- 타임라인 분석

- 산업제어시스템 

- 공유기, 스마트홈 등


역시 3번의 평가가 진행된다. 1차는 길어봤자 1~2시간이었는데 2차는 다르다. 심지어 하루 종일 보기도 하였다. 복습이 제대로 이루어진 상태가 아니면 시험시간 8시간동안 괴로움을 맛볼 수 있을 듯 하다...... 실제로 어떤 교육생은 도중 포기를....


2차에서는 대략 40명 정도 탈락이 된다. 탈락한 사람은 단순 수료증만 받게 된다. 나머지 합격한 사람들은 수료+인증서를 받게 되는데 거의 8개월동안 교육이 진행되는데 수료와 인증의 차이는 어마어마하다. 물론 회사에서 수료증만 가지고 간다면 온갖 갈굼을 먹을 수도...


인증식은 12월에 진행이 되었다. 

k-shield 인증자만 참석하는 것이 아닌 정보보호 동아리 회원과 버그바운티 우수 신고자들도 왔다.






나라에서 진행하는 좋은 프로그램

많은 사람들의 인증을 기원하며..

정보보안기사 합격과 k-shield 인증을 시켜준 Kisa에 무한한 감사를 드리며... 

정보보안기사를 검색하면 항상 합격률이 연관 검색어에 출력되는 것을 확인할 수 있다.

https://kisq.or.kr/ 에서 공지사항에는 나오지 않는다. 그 이유는 작성일을 기준으로 업데이트가 되어, 최신글로 출력되지 않기 때문이다.
다만, 공지사항 더보기에서 78번 글을 보면 업데이트 됨을 확인할 수 있다.

해당 게시글은 2017년 1월 6일 기준이다.


 


표를 보면 매년 응시자의 수가 증가하는 것을 확인할 수 있다. 다만, 8회 실기가 쉬웠다는 글이 많았음에도 불구하고 어렵다던 7회 실기보다 8회 실기 합격률이 낮음을 확인할 수 있다.

하지만 합격률은 단지 수치일뿐.....

2016년 12월 9일 발표 합격


발표가 나오는 아침 상당히 떨렸다. 팝업 해제를 하지 않았을 때 9시부터 확인을 하였던 나를 보며 뭔가 약간은 기대를 했던 것 같다. 발표는 10시에 떴다. 예상 점수가 55~62를 감안하였을 때 확실하게 부분 점수가 있다는 것을 점수를 보고 확인할 수 있었다. 


공부 방법

필기: 1달 정도 공부를 하였다. 평일은 회사 업무로 인해 많이는 못하였고 주말에는 도서관에 가서 공부를 하였다. 필기는 확실히 많이 어렵지는 않다. 약간의 기본 base만 있으면 어렵지는 않다. 

책을 사는 것을 좋아하지 않아 회사 선배의 책을 빌렸다. 책은 알기사 2013년 필기 책이었다. 확실히 필기는 기본은 똑같다고 판단하여 13년도 책으로 공부를 하였다. 


위와 같이 요약을 하고 공부를 하였다. 약 30장 정도로 요약을 하였고 정보보안기사는 다른 기사 시험과 달리 시험 문제가 공개가 되지 않기 때문에 기출 문제를 풀기보다는 책으로만 진행을 하였다. 


실기: 막판 회사 업무로 인해 필기보다 적은 시간을 할애하였다. 지금 생각해보면 운이 정말로 좋았던 거 같다.

약 2주를 공부하였고 마지막 한 주는 거의 하지 못하여 마음이 불안하였다. 



필기와 마찬가지로 요약을 하였다. 책은 2015년 알기사 실기로 공부를 진행하였다. 필기와는 달리 키워드 위주로 진행하였다. 약 60개의 토픽으로 숙지하고 시험을 보았다. 알기사 책으로는 모든 것을 커버하기는 어렵다. 예를 들어 하트블리드의 snort룰 같은 경우에는 책으로는 알기 힘들다. KISA에서 발간하는 자료들은 한번씩은 보고 가는 것을 추천한다. 어차피 공격 유형은 많이 달라지지 않는다(시험). 다만 꼬아서 내는 문제가 많기 때문에 책은 기본으로, KISA자료는 참고용으로 보고 가면 어느정도 간당하게라도 합격하지 않을까 싶다.

또한, 리눅스 마스터를 사전에 공부해두면 상당히 유리한 것 같다.


원래 정보보안기사를 합격하면 CISA, CISSP을 공부하려고 했으나 굳이 할 필요가 없다고 생각이 들었다.

이제 기술사를...


다들 화이팅입니다!!!


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

16년 11월 12일 토요일 정보보안기사 실기를 보고왔다.

악명 높은 정보보안기사 실기... 역시 어려웠다.

일단 범위도 너무 넓고 무엇보다 법쪽도 관련되어 있어 쉽지가 않다.


정보보안기사 실기는 총 15문제 (단답형 10개 30점, 서술형 3문제 각 14점, 실무형 3문제 중 택 2 각 14점)으로 이루어져있다. 


단답형 1번부터 난 스킵을 하였고 서술형에 디지털 포렌식이 나오면서 아 이번 시험은 끝이구나 라고 느낄 수 있었다.
(인쇄가 제대로 되었는지 확인하는 시간에 난 벌써 직감하였음..)


순서는 모르겠다만 우선 생각나는대로 적어보고자 한다.

기억나는 것 포함하여 http://wonylogs.tistory.com/40 글의 내용을 참고하였다. 이 분도 같이 합격했으면 좋겠다.

(우선 제가 쓴 답을 적을 것이며, 틀렸으면 댓글창에 달아주시면 반영토록 하겠습니다.)


단답형

1번. mysql 외부 접근자 막기 위한 명령어

-> 그냥 이 문제는 보자마자 스킵하였다. 왜냐하면 난 알지 못하기 때문이다.......

2. WEP 괄호 문제- 24bit(IV), 암호화 기법(RC4)- RC4는 취약하다고 지문에 나와있었던 거 같음

->IV, RC4

3. TCP 3Way handshake Syn-Ack 문제

->클라이언트가 1이라고 syn을 보내면 server가 2로 ack를 보내고 10이라고 Syn를 보내면

클라이언트는 Syn을 다시 2와 ack를 11이라고 보내는 형식으로 빈칸이 3개였던 거 같음

4. setuid 관련 문제 (real UID, Effective UID, Saved UID)

-> EUID, SUID를 처음 보았음. 그냥 첫 uid가 1000이라서 그 옆에는 1000으로 채우고 

   UID를 600으로 바꾸니까 real을 600 나머지는 0이라고 찍었음..

5. DNS 괄호 문제 (1)protocol() (2)저장하기 위한?() (3)유효시간()

-> UDP 프로토콜, 저장하기 위한 것에 zone이라고 적었는데 cache인거 같음. 유효시간은 TTL이라고 적음

6. ISMS 13개 도메인 

-> 빈칸으로 제출함 답은 2(정보보호 조직) 3(외부자 보안)  10(접근 통제) 임

7. 리눅스에서 Host 기반 침입탐지 시스템 작동 시 디렉토리가 어디인지(), ps가 지문으로 나옴

-> /proc 적으려다가 안드로이드 루팅하면 /sbin에 su파일이 생성되어서 /sbin이라고 했는데 ps면 /proc 인거같은데 왜 시험에는 안했는지 모르겠음..

8. 개인정보 지침 관련 안전성 확보 조치 ()는 연()회, ()를 해야함

-> 고유식별정보, 1회, ()        고유식별번호가 생각이 안나 민감정보라고 하였음. 1회는 맞은거같고 마지막 ()을 나는 안전성 확보라고 했는데 위의 링크분은 유출/변조/훼손이라고 하셔서 뭐가 뭔지는 잘 모르겠음..

9. 보안의 목표 

기밀성, 무결성 (가용성), (인증), (부인방지) 이건 워낙 기본이라 다들 맞았을 거 같다.

10. 위험 처리 방안

(수용), 감소, (회피), (전가) 이 또한 단골 문제이기 때문에.. 회피 전가는 빈칸 맞는거 같고 수용 감소는 어떤게 빈칸이었는지는 기억이 잘 안남


서술형

11. IPSEC

(1)동작 모드 차이점 적기(ESP 기준으로 하라고 했음)

-> 전송 모드와 터널 모드 그림 그렸음

전송 모드(ip header, esp header, ip payload, esp trailer, esp 인증)

터널 모드(new ip header, esp header, ip header, ip payload, esp trailer, esp 인증)

암호화 하는 부분이 다르다고 적었음. 예를 들면 터널모드에는 ip header까지 감싸기 때문에

종단 정보만 new ip header에 나온다고

(2)End To End, Host To Host

-> 그림이 나왔음. 하나는 공인 ip를 사용하는 host와 즉, 그냥 Host To Host 방식이고

나머지 하나는 G/w to G/w였음. 각각에 대해 위에서 언급한 동작 모드를 어디에 적용하는 것이 맞는지에 대한 선택과 선택한 이유에 대해 적는거

H-T-H는 전송, G-T-G는 터널 모드로 선택하고 이유는 그냥 아는대로 적었음


12. 게시판 업로드 가능시 공격방법에 아는 방법(?) 및 해결 방안(2가지)

-> 뭐 아는 방법(?)은 이것 저것 적었고 해결방안에는 .js와 같은 확장자는 못올리게, 즉 확장자 검사랑

나머지 하나는 파일을 올릴 때 실행 권한을 주면 안된다라고 적었던 거 같음


13. 디지털 포렌식 (chain of Custody) 5단계

-> 후.... 이 문제에서 당락 여부와 많은 사람들이 당황했을 거 같다.

증거물 보관의 연속성이라는 것은 보지도 않았다.

대충 찾아보니 무결성에 대한 것이고 5단계로는 정보수집-전송-분석-보관-보고서 작성

의 형태인거 같은데 나는 수집-계획 수립-분석-보고서-복구  라고 적었다...

지금 생각해보면 복구는 진짜 어처구니 없는 답변이었다. 그냥 복구를 안썼으면 대충 수집 분석 보고서 형식은 맞아서 약간의(?) 가산점을 기대해보겠다만 복구를 적는 바람에 0점이 아닐까 싶다...


14. snort

(1) 무슨 취약성

-> 로그형식이 alert any any <> any [443, 450, xxx,xxx,xxx] 이 있었고 content[xx,xx,xx] 이런식으로 로그를 보여주었다. 난 로그 분석은 이해가 안갔지만 14년도에 발생한 것이었다고 하고 443이 ssl이기 때문에 openssl 취약성이라고 생각하여 heart bleed(openssl 취약점) 이라고 적었다. 14년도에는 크게 허트블리드와 쉘쇼크(bash 버그 취약성)가 있었는데 맞았으면 좋겠다.

(2) 보안 장비를 사용하지 않고 해결방안(2가지)

-> 장비를 사용하지 않기 때문에 가장 필요한 것은 최신 패치 버전의 유지라고 적었다.

 나머지 하나는  난 openssl 취약점 즉 허트블리드라고 생각하였기에 허트블리드는 결국 오버플로우를 발생시키는 문제가 있었기 때문에 입력값 검증 및 오버플로우 대책에 대해 몇가지를 적었다.


15. Crontab

(1) 리스트 보는법

-> crontab -l    (-l옵션은 list 출력)

(2) 어떤 이름 주고 얘(xxx)를 수정하는 방법

-> crontab -e <xxx>    (-e은 edit)  

(3) 매주 일요일 3시 rm -rf <directory> 표준 출력은 /dev/null 로 보내고 표준 에러는 표준 처리로 redirect

-> 0 3 * * 0 rm -rf <directory> 

뒤에 명령은 틀린 거 같음 (쉘까지 나오다니..) rm -rf <directory> /dev/null 2 > 1

이라고 그냥 대충 적었던 거 같음. 이 부분은 모르기 때문에 패스


16. ISMS 인증 단계?

-> 실무형은 택2 이기 때문에 ISMS 라는 글자가 보이자마자 스킵처리


뭐 아는건 열심히 적었지만

가채점을 해보면 간당간당하다. 뭐 이것도 내 기준에서의 가채점이기 때문에(예를 들면 허트블리드) 사실상 탈락의 확률이 더 높다. 

그냥 어느 인자하신 채점자분을 만나 약간의 가산점을 받아 60점으로 통과했으면 좋겠다.


12월 9일 발표라고 하니 그때까지는 개인공부나 해야겠다.

이번에 보안기사를 끝내면 참 좋으려만...........

vmware에 ubuntu 16.04를 설치하였다.

하지만 윈도우 화면이 자동으로 맞춰주지 않아 보는 데 상당한 불편함을 느꼈다.

또한 아래의 사진처럼 이전까지는  install Vmware Tools... 가 활성화 되었던 것 같은데 16.04 탓인지, 오늘 윈도우 10을 업데이트 한 탓인지 뭐 아무튼 활성화가 되어 있지 않았다.


방법은 간단하다.

$sudo apt-get install open-vm-tools-desktop


위 한줄이 끝이다..ㅎ

아래처럼 설치가 된 것을 확인할 수 있다. View 탭에서 Autosize-Autofit Guest를 차례대로 클릭한다.



아래와 같이 사이즈가 변경되어도 해당 사이즈에 맞게 자동으로 조절 됨을 확인할 수 있다.

데스크탑을 바꾸게 되어 기존에 사용했던 vmware 를 재 설치하는 동안 황당한 일이 발생하였다.

bridge모드가 안잡히는것!


vmware network editor에서 새로 VMnet0을 추가하려고 하였으나 아래와 같이 에러 발생

에러내용: Cannot change network to bridged: There are no un-bridged host network adapters.

어댑터가 없다고 출력이 되어 확인하러 가보자.


네트워크 설정에 vmware bridge모드가 되어 있지 않았다..



네트워크 설정에서 설치를 누르고 서비스-vmware.inc 를 차례대로 클릭하면  아래의 사진처럼 bridge protocol 을 설치할 수 있다. 설치를 해준다.


그러면 아래와 같이 추가가 되었음을 확인할 수 있다.

동시에 vmware network 에디터에 자동으로 등록됨을 확인할 수 있다.



실행파일에 대해 화이트리스트로 보호하는 업무를 진행하다 변환 툴을 찾던 도중 shc라는 툴을 발견하였다.

위의 화면을 보면 알 수 있듯이 일반적인 쉘 스크립트는 ASCII 텍스트로 되어있다. (화면이 깨져보이는 점 죄송합니다..)

이를 밑의 testit.x 처럼 실행할 수 있는, 일반파일(리눅스는 일반파일과 특수파일로 구분됨)로 바꿔주는 툴이라고 할 수 있겠다.


1. 파일 다운로드

해당 사이트에서 받을 수 있다.

1) wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9b.tgz

2) 클릭하여 직접 다운로드


2. 압축 해제
$tar zxvf <download_file_name>


3. 컴파일 및 설치

$make    //본인의 home은 권한을 root로만 주었기 때문에 sudo 명령을 씀


$sudo make install

y입력


4. Test

$shc -f <script_file_name>

명령어 수행 후 <script_name>.x 파일이 생성됨을 확인할 수 있다.

기존의 스크립트 파일의 모습이다.

변환된 바이너리 파일의 모습이다.


끝.

+ Recent posts