네이버 AI now

Posted by ironmask84
2021. 8. 28. 00:19 컴퓨터공학/IT 트렌드


 

올해 5월에 네이버에서 자체 개발 중인 AI기술에 관해 세미나를 한 적이 있다.

제법 크게 행사를 했고, 

기존 개발해온 AI스피커 모델명 '클로바'를 주 모델로 네이밍 한 듯 했다.

이름은 바로 '하이퍼 클로바'!! ㅋㅋㅋ

그런데 정말로 하이퍼가 된 것을 수치 및 성과로 증명하는 자리였다.

앞으로 AI 를 활용하는 시대가 열릴 것이기에, 네이버 뿐만 아니라
세계적인 여러 거대 IT 기업들이 앞다투어 AI 서비스들을 개발하고 있다.
특히, 구글 과 아마존...

이번에 네이버가 소개하는 내용을 보면,
누구나 손쉽게 빅데이터를 활용해서 AI 서비스를 만들어 낼 수 있는
서비스를 제공하는 것처럼 보인다.

네이버는 한국형 포털사이트 1위 업체인 만큼
한국어 기반 빅데이터 모델링 만큼은 세계 1위이지 싶다.
즉, 망할일은 없지 않을까 싶은데.. 네이버 주식을 좀 더 사볼까? ㅋㅋ

빅데이터를 활용하는 기술은 데이터 전문가, 빅데이터 프로그램 개발자가 
우선 필요한데, 이들이 사용자가 직접 서비스를 만들어 낼 수 있도록 도와주겠다는 것이다.

물론, 일반 사용자는 접근이 쉽지는 않아 보이고, 개발 경험자가 해야 수월하지 않을까..
요새는 워낙 IT에 대한 지식이 쏟아지고 있고, 교육전문 유투버들도 많아서
수평화 되고는 있지만,

개발 전문가의 자리가 위협받을 정도는 아니길 바라며.. ㅋㅋㅋ

세미나 영상은 아직도 볼 수 있으니 참고하시길 바랍니다!!
네이버TV - https://m.tv.naver.com/ainow/home

 

NAVER AI NOW : 네이버TV

AI가 모두의 능력이 되는 새로운 시대. 그 시작이 될 AI 기술을 처음 공개합니다. NAVER AI NOW에서 함께 만나보세요. 2021년 5월 25일 오후 2시.

tv.naver.com

 

세미나 생방송 당일, 동시접속자를 커버 못해서 엄청 버벅였음..
그럼에도 참가 하였으나..
경품은 받지 못한 것이 이내 아쉽다 ㅜㅜ

 

디지털포렌식 2급 자격증 후기

Posted by ironmask84
2019. 5. 24. 16:32 컴퓨터공학/Security


도전 배경

IT Security에 관심이 많고, 

이와 관련된 분야를 연구 및 개발했던 저는 

이번에 디지털포렌식에 도전했습니다. ^^


민간자격증이었던 이 자격증은 몇년 전부터 국가공인이 되었네요.

아직은 많이 알려진 자격증은 아니라

시험 고사장이 많이 없고 시험 횟수도 1년에 2번꼴로 적습니다.

1급은 1번 밖에 진행안하네요.


날로 불어나는 사이버 범죄..

사이버 시대가 깊어진 요즘,

그 순기능에 못지않은 역기능이 늘어나는 듯 합니다.


시험 후기

필기는 생각보다 어렵지 않았습니다.

정보보안기사 공부로 다져진 보안 도메인 지식들과

수 년간 전공공부, 직장생활과 정보보안기사, 

정보처리기사 등으로 다져진 IT 지식들을 베이스로 공부했습니다.

좀 더 자세한 방법 정리로는

1. 파일시스템 종류 (정리본과 정보보호론 공무원 문제집)

2. 윈도우 레지스트리 항목들 (정보보호론 공무원 개념책)

3. 데이터베이스 개념 (정리본과 정보처리기사 책)

4. 네트워크보안 (정보보안기사 책)

5. 디지털포렌식법 (정리본과 블로그 검색 활용)


1주는 가볍게 정리본을 보고, 1주는 기출문제 5회 풀어보는 것으로

총 2주 공부로 76점 합격했습니다!!

세부 점수는 과목수는 5개과목에 아래와 같습니다.
1. 컴퓨터 구조와 디지털 저장매체    12점 (15점 만점)
2. 파일시스템과 운영체제                9점 (15점 만점)
3. 응용프로그램과 네트워크의 이해  11점 (15점 만점)
4. 데이터베이스                           12점 (15점 만점)
5. 디지털포렌식 개론                    32점 (40점 만점)

1, 2, 4 과목은 정보처리기사
3과목은 정보보안기사
5과목은 별도 공부 필요

정도로 보시면 적당합니다.

컴퓨터관련 비전공자 이시면 좀 더 많은 공부가 필요할 것으로 보입니다.

여기서 정리본과 기출문제가 궁금하실 텐데요 ^^

정리본은 네이버에 검색해봐도 올리신 분들이 많은 것 같아,

제작자에 가까운 분의 링크를 아래 걸어둡니다.

https://blog.naver.com/bitnang/220692059829


기출문제는 디지털포렌식 협회에서 나오는 문제지입니다.

해설이 없다는 것이 최대 단점입니다 ㅜㅜ

https://forensickorea.org/wp/?uid=41&mod=document&page_id=38


참고로 고사장은 서울의 경우 종로쪽에 성균관대 법학관입니다.

생각보다 어려보이는 분들도 많아 놀랬네요 ^^;


 

유투브와 IPTV 미러링

Posted by ironmask84
2019. 4. 9. 08:30 컴퓨터공학/IT 트렌드


이용 배경

이 글을 어느 카테고리에 쓸까하다가 마침 오래전에 만들어놓은 'IT트렌드' 가 있어서
이걸로 바로 선택해서 글을 하나 씁니다. ㅎㅎ 

요즘은 바야흐로 유투브(youtobe) 시대인듯 합니다.

누군가는 그러더군요. 

요즘은 블로그나 지식인으로 검색하면 구세대고,
유투브로 검색하는게 신세대라고...

그만큼 유투브 컨텐츠가 많이 생겨나고 있고, 1인 방송시대가 열리고 있는듯 합니다.
일명 BJ라는 직업군이 형성되고, 유투브는 광고수익을 그리고 아프리카 TV는 관객들의 별풍선을 주는 형식의 수익을 통해서 잘나가는 사람들은 월 수천만원을 벌기도 하는 시대니...

그래서 남녀노소 모두 1인 방송 시장에 뛰어들고 있는 것 같습니다.ㅋㅋ
물론 목적이 돈이 아니라 취미인 사람도 많겠지요..

생각해보면 저도 유투브를 통해 필요하고 재밌는 정보를 많이 얻고 있었습니다.

수영강좌, 영화홍보영상, 자동차강좌, 게임공략정보 등등..

이용 후기

저는 집에서 유플러스 인터넷 티비를 신청해서 보고 있는데,
제공해준 셋탑박스와 무선공유기를 통해
폰이나 테블릿 기기에서 실행되는 유투브가 바로 TV로 미러링되는 기능이 있더군요!

그동안 이 기능을 왜 모르고 있었는가.. ㅋㅋ
유투브를 TV화면에서 보려고 폰을 TV에 연결하기 위한
USB-HDMI 케이블을 살까하고 있었는데 그럴필요가 없어졌습니다. ㅎㅎ

아래 그림을 참고해주세요~
정말 편리하네요.

 3월까지니 얼른 멤버십 가입하고 혜택누리기 그뤠잇!! 
유플러스 셋톱박스와 공유기!! 갈수록 진화하네요~~
어벤젼스 광고영상 입니다 ㅋ
화질도 그렇게 나쁘지 않아요!!

유플러스 공유기에 연결된 기기이면
아래 그림과 같이 정지 및 음제거 기능이 가능하네요!!  선없이 조작이 가능해서 더욱 편리합니다!

공유기에 연결된 스마트폰에서도 조작가능!!

이것도 스마트홈의 라이프 스타일이겠지요?
Wireless 라이프는 계속 될듯하네요~~

 

 

정보보안 산업기사 후기 (2018-09-08)

Posted by ironmask84
2018. 9. 8. 23:48 컴퓨터공학/Security


오늘 정보보안 산업기사 필기 시험을 치뤘습니다..

저는 이미 경력이 꽤 있는 SW 개발자 입니다.

산업기사 시험 따위야.. 라는 교만한 생각을 가지고 있습니다만,

이 시험을 치룬 이유가 있습니다. ㅋㅋ


조금 예전 이야기부터 담아 보겠습니다.

정보보안 기사 시험 관련 후기를 이제서야 남기네요 ㅋㅋ

사실 5년 전부터 정보보안 시험에 도전을 했었습니다.

정보보안 기사는 정보보안관련 국가공인 자격으로 2013년에 처음 시행 되었습니다.

2013년 2회 때 정보보안 기사 필기시험에서 정보보안 법규 과목 과락으로 낙방하고..

2014년 3회 시험에서 합격했습니다.


그런데.. 실기시험이 말도 안되는 난이도로 2년 동안 낙방했었죠..

1년에 2번 있는 시험 입니다. 고로 4번이나 하...

어찌나 범위도 많고 주관식에 서술식 문제들이라 매우 어렵습니다.

합격률이 5%가 안되는 경우가 많습니다.

그렇다고 메리트가 그렇게 있는 자격증도 아닌데 말이죠..

정보처리기사와 동급으로 여겨지니 참.. 난이도는 100만배 어려움.


2년 동안 낙방하고 나니, 

내가 왜 사서 이렇게 고생하고 있냐는 생각이 들더군요

기술사 처럼 메리트가 있는 자격증도 아닌데!!

오기로 했던 것 같습니다.


나름 컴퓨터 전공이기도 하고, 

자격증 시험에 매우 자신감이 높았던 저였기에 말이죠.

이 자격증으로 인해 자격증 시험에 대한 자신감이 많이 떨어졌습니다. ㅜㅜ


그래도 또 도전하고자 필기 시험 유효기간 (2년) 이 지나고 

2016년에 다시 필기 합격을 해놨습니다.

그런데 이래저래 여러 바쁜일들이 많아서 실기 시험을 한 번 밖에 못치뤘고,

그 마저도 실패했습니다.

이제 올해 하반기 시험이 마지막 필기 유효기간이 됩니다....

이번엔 합격할 수 있을런지 ㅡ_ㅡ

직장일과 병행하기 무지 힘들엉...


각설하고..

이번에 산업기사 시험에 도전한 계기는!!

첫째, 차주에 있을 경찰 경력경쟁채용 중 

사이버 수사 필기 시험 대비 전초전을 치뤄봤다고 해얄까요 ㅋㅋ

경찰 경력경쟁 채용 도전은 2017년 상반기 부터 있었는데, 

이것도 사연이 많아요.. ㅋㅋ 

그 건은 따로 포스팅 해보겠습니다.  최종합격 후에 말이죠 ㅡㅡ

언제가 될진...


둘째, 기사 시험은 난이도가 너무 높아서 합격이 힘드니

이왕에 공부해놓은 것 산업기사라도 따볼까 하는 생각입니다.

사실 컴공 프라이드에 산업기사라니.. 자존심 상합니다만,

일단, 산업기사라도 따봐야 겠어요.

덩달아 기사도 합격하면 더욱 굿!!


그래서 후기는??

이번 산업기사 후기 입니다!!

1. 시스템 보안 : 윈도우 보안이 요상하게 꽤 나와서 괴롭히네요.

2. 네트워크 보안 : 그럭저럭 무난했습니다.

3. 어플리케이션 보안 : 여기저기 다양하게 나와서 어려웠습니다.
--> 이중서명, 전자입찰, SET, 전자투표 등 활용원리 및 방법에 대해
      지문도 길게 나와서 더욱 헷갈리게 하더군요.

4. 정보보안 일반 : 제일 쉬웠던 것 같습니다.


기사와는 달리 정보보안관리 및 법규가 빠져 있습니다.

과락 40점에 평균 60점 이상이 합격이구요.


사실 머 필기는 100% 합격 예상합니다.

기사 실기도 아슬하게 떨어진 자로서,

산업기사 필기 떨어지면 타격이 너무 큽니다. ㅋㅋ


점수 예상

시스템 보안 80  네트워크보안 85  어플리케이션보안 75  정보보안일반  90

평균 점수 : 82.5 점으로 가볍게 합격 예상 함.

10월 5일에 점수 발표되면, 업뎃 남기도록 합죠 ㅋㅋ


차주에 경찰 사이버수사대 필기시험을 치르고 

후기를 남겨보도록 하겠습니다.

아! 물론 자세한 후기는 최종 합격하면 올릴겁니다 ㅋㅋㅋㅋ


예상으론 보안기사 필기 시험보다 난이도가 낮을 거라고 봅니다.

60분이라고 하니 아무리 많아도 60문제 일거고..

45문제 예상 해봅니다.

고로, 5문제 이상 안틀렸으면 하네요.. 경쟁시험이니 또르르...




 

6. 웹, DB 등 정보시스템 취약점 점검 및 보안대책 수립

Posted by ironmask84
2018. 3. 3. 17:17 컴퓨터공학/Security


* 웹 로그 분석 (서버에 저장되는 로그)
  1) 접속 사용자의 행위/취향 등을 분석
  2) 보안사고 발생 시 추적할 수 있는 증거자료
  3) 보안사고 발생 전 이상 징후, 해킹시도, 해킹 성공 여부를 확인
  4) 다양한 웹 공격 패턴 파악
  5) 접속시간, 접근 파일 정보, 사용자 정보, 요청 방식, 성공여부 등을 확인

* GET, POST 요청 메소드
GET : URI로 지정된 리소스를 서버에 요청
POST : URI로 지정된 리소스에 데이터를 전달하여 이를 처리한 결과를 서버에 요청

* 웹로그 종류
  1) NCSA CLF(common Log Format) : Apache 및 Tomcat의 기본 포맷
  2) NCSA ELF(Extended Log Format) : CLF에 Referer값과 User-Agent값이 포함된 포맷
  3) W3C ELF : Referer와 User-Agent를 비롯한 Cookie 및 사용자 정보를 추가로 남길 수 있는 포맷

* 웹로그 포맷
  0) Host, Date and Time, Request, Status, Bytes
  1) Referer : 요청된 URL이 참조되거나 링크된 URL
  2) User-Agent : 클라이언트 OS 및 브라우져 버젼



일반적으로 기업들이 웹 모의해킹을 수행할 때는 외부 업체를 구하여 수행할 수도 있고 회사 내부 직원들에 의해서 수행할 수도 있습니다. 다만 이러한 모의해킹을 수행할 때는 다양한 기준에 따라서 실시할 수 있습니다. 대표적인 것이 OWASP TOP 10 웹 취약점, 국정원 홈페이지 8대 취약점 등입니다. 다만 모의해킹을 수행할 때는 아이피, 아이디, 접속 일자, 행위와 같은 반드시 들어가야 할 기준을 포함하여 수행이 되어야 합니다. 또한 한국인터넷진흥원(KISA)에서는 홈페이지 취약점 제거 가이드까지 제시하고 있으므로 이런 것들을 잘 참고하는 것이 중요합니다.

※ 한국인터넷진흥원(KISA) 2016년 홈페이지 취약점 진단제거 가이드 ※

https://www.kisa.or.kr/public/laws/laws3_View.jsp?mode=view&p_No=259&b_No=259&d_No=49&ST=T&SV=

  정말 고리타분한 말로 들릴 수 있겠지만 자신이 웹 개발자라면 평소에 이러한 취약점 진단제거 가이드를 읽어보면서 공부해 볼 필요가 있습니다. 또한 회사에서 실제로 모의해킹을 수행할 때도 이러한 가이드를 참조하게 됩니다. 위 문서를 보면 제가 자주 쓰는 CSRF 기법에 대한 대응 방안도 나와있네요.

  재미있네요. 고전적인 해킹 기법은 CSRF의 동작 과정 및 세부적인 내용에 대해서 소개하고 있습니다.

※ 일반적인 웹 모의해킹 점검 절차 ※

① 진단할 기업 정하기: 대상의 개요, 사업의 목적 파악 
② 대상 기업 분석: 진단 대상 사이트 규모, 용도, 주요 기능 목록, 예상 취약점 목록화
③ 정보 수집: 웹 취약점 스캐너 활용, 공격 포인터 이용
④ 취약점 점검 실시: 사이트 별로 기능에 따른 예상 취약점 테스트 실시, DB유출, 정보유출 등 공격시도
⑤ 권한 획득: 웹 서비스 관리자 권한 획득, 웹 쉘을 통한 루트 권한 획득 등

  일반적으로 웹 모의해킹을 통한 점검 절차는 위와 같이 수행됩니다.

※ 웹 취약점 스캐너 ※

- nikto: 취약점을 점검할 때 가장 많이 사용하는 점검 툴
- OWASP Zap: OWASP TOP 10 취약점을 주 대상으로 한 점검 툴
- Acunetix: 상용 웹 스캐너로 가격이 비싼 점검 툴



DB 침해사고는 외부의 해커, 인가된 내부 사용자, 인가되지 않은 내부 사용자 등 모든 범 위에서 발생할 수 있다. DB는 정보시스템의 가장 깊은 곳에서 운영되지만 웹 애플리케이 션(Web Application), 내부망(Internal Network), 파트너 연계 네트워크 등 수 많은 접 근점의 존재로 인해 데이터 유출 위험이나 서비스 중지의 위험이 상시적으로 존재한다.
DB 취약점의 유형은 다음과 같다.
■Admin 권한이 아닌 일반 권한을 가진 DB 계정이 단 하나의 SQL 명령으로 Admin 권 한을 획득 한다면?
■DB 계정이 없는 사용자의 DoS공격에 의해 고객 및 금융 업무를 운영하는 DB가 갑자기 중지된다면?
■DBMS 내부에 DBA도 모르는 내부 함수(Internal Function)로 인해 DB가 손상된다면?
■다른 소유주의 테이블(Table)이 남모르게 접근 가능하다면?
앞의 취약점들은 다음의 대표적인 DB 취약점을 통해 공격받을 수 있다.
■디폴트(Default) 패스워드 및 보안상 안전하지 못한 약한 패스워드
■권한의 남용(모든 권한은 꼭 필요한 최소한의 권한으로 운영되어야 한다.)
■버퍼 오버플로(Buffer overflow)나 형식문자열(Format String)과 같은 알려진 취약 점들
■네트워크를 통한 취약점들
■DB 및 시스템 파일에 대한 불법 열람 및 변조
■SQL 주입공격(Injection )
■DB 서비스를 중단시킬 수 있는 서비스 거부(Denial of Service)와 같은 위협들 문제는 이러한 DB 취약점들이 DBMS 제조사나 해커들에 의해 항상 공개가 된다는 것이 다. 이렇게 공개된 DB 취약점들을 통해 DB는 쉽게 공격 대상으로 주목된다. DB 취약점 분석은 DB에 내재된 취약점들과 DB 운영에 있어서 고려되어야 할 항목들을 다각도에서 구체적으로 점검함으로써 보안 관리자 및 DBA에게 시스템에 내재된 안전 취 약점(Security Hole)을 제거하게 하여 DB의 보안 수준을 향상시키게 한다.
DB 취약점 분석 솔루션은 점검대상 네트워크 범위에 존재하는 정보자산을 파악하는 정보 수집(Information Gathering), DB 보안을 검증할 수 있는 모의해킹(Penetration Test), 내부 보안감사(Security Auditing) 등의 과정을 통해 다양한 DB 취약점들을 도출 하여 DB의 전체 보안 수준의 향상을 도모한다.
DB 취약점 분석은 정보 자산의 파악과 보안성의 검토, 검출된 취약점 제거를 위한 Fix Scripts 및 개선안 제시, 레포팅 등을 주요 항목으로 한다.

결국 DB 취약점(Database Vulnerabilities)은 DB 보안을 위해 반드시 점검해야 할 항목 이라고 할 수 있다.


* 행정안전부에서 내놓은 공개SW를_활용한_소프트웨어_개발보안_점검가이드 에 따르면
Eclipse 나 Android Studio 같은 통합개발환경(IDE) 도구, jenkins와 같은 CI(Continuousintegration) 도구에서
FindBugs, FindSecurityBugs, PMD  툴을 플러그인으로 적용해서 사용이 가능하다.


 

3. 정보보호 관리(인증)체계 및 관리법규

Posted by ironmask84
2018. 3. 1. 15:52 컴퓨터공학/Security


* 정보보호 인증체계

1) 접근통제 (식별 -> 인증 -> 인가)  (권한부여, 직무분리, 최소권한 개념으로)

직무분리 : 업무 발생부터 승인, 수정, 확인, 완료 등 모든 과정이 한 사람에 의해 처리될 수 없게하는 보안정책
최소권한 : 허가받은 일을 수행하기 위한 최소한의 권한만을 부여하여, 권한남용에 의한 피해 최소화

방법 : 패스워드 : 사전공격, 무차별 공격, Backdoor, 사회공학, 스니핑 등에 무력화

         i-PIN : 주민번호 저장안해도 되는 장점

         OTP : 분실시 악용, 배터리 방전 문제

         생체인증 : 높은 비용, 사용자 거부감


통합인증체계 : 한번의 인증으로 재인증 없이 전체 시스템에 접근이 가능하게 한 솔루션
각 시스템을 개별적으로 ID/PWD 관리 안해도 되므로 분실하거나 노출위험이 줄어듬
중앙집중관리로 효율적이나, SSO 관리서버가 침해 당하면 모든 서버 보안침해가 가능해지는 위험성 올라감

Kerberos ( 대칭암호 기법, 네트워크를 통한 키분배, 키분배센터 비용 발생)

SESAME (비밀키 분배에 공개키 암호화를 사용, 키관리 비용 감소)

2) 접근통제 보안 위협 및 대응책

  - 사전공격 : Password 암호화 저장 (salt 이용)

  - 사회공학 : 보안 인식 교육 필요

  - 피싱 : 스푸핑 이용

  - 스미싱 : SMS이용한 웹사이트 유인 -> 트로이 목마 S/W 설치 -> 개인정보 유출

3) 기기인증 : 네트워크에 참여하는 다양한 기기의 안전한 운영을 위해 해당 기기를 식별하는 신뢰된 인증방법

장점 : 보안성 제공, 일관된 보안정책에 의한 구축 및 운영비용 절감, 단일 보안 프레임워크 기반으로한 상호연동성

- 아이디/패스워드 : 보안수준 하, 인증이 쉬운만큼 보안안전성도 약함

- MAC주소 인증 : 보안수준 하, 예로 무선랜 카드,
                       추가적인 어플과 프로토콜 필요없고 접속 용이,
                       기기 바뀌면 새로 MAC 주소 재등록필요, MAC주소 유출되면 큰일, 부인방지 불가

- 암호프로토콜 활용 인증 : 보안수준 중, 예로 802.1x의 EAP, WAP2 등 표준화된 기술 존재
                                   다양한 표준화된 인증방식이 있어 안전성 어느정도 보장,
                                    암호 및 인증 알고리즘의 안정성에 의존함, 오래된 알고리즘은 해커에 의해 깨지기도 함 (RC4)

- Challenge/Response 인증 : 보안수준 상, OTP와 유사하게 일회성 해시값 생성하여 사용자 인증
                                      서버가 랜덤값(Challenge)을 전송 -> client는 수신한 값과 패스워드에 해시 적용해서 반환(Response)
                                       -> 응답받은 서버는 같은 방법으로 해시한 값과 비교해서 일치하면 인증 완료
                                      패스워드로 간편인증이 가능하면서도, 네트워크상 매번 다른값으로 전송되므로 안전
                                      그래도 패스워드 노출되면 보안이 깨짐

- PKI 기반 기기 인증서 기술 : 보안수준 최상, 안전성 높고, 부인방지 기능
                                       인증서 관리(발급, 갱신, 폐기) 비용 발생, CRL 리스트 관리 비용 발생


* 정보보호 관리체계 및 법규 (보안기사 필기에서 챕터 정보보호 관리 참고)

1) 정보보호 정책 : 조직의 내외부 환경과 업무성격에 맞는 효과적인 정보보호를 위해 수행되어야할 항목을 기술한 지침과 규약으로 정보자산을 어떻게 관리하고 보호할 것인지 문서로 기술한 것

2) 정보보호 정책 역할 : 임직원에게 책임할당과책임추적성 제공,
                              기업의 비밀 및 지적재산권을 보호하며
                              기업의 컴퓨팅 자원낭비 방지

3) 정보보호 정책 요소
절차 : 정책 세부 지시사항
표준 : 조직에 적용되는 소프트웨어, 하드웨어적인 요구사항 정의
기준선 : 정보보호 정책의 일관성 있는 적용을 위해 준수해야할 사항
지침 : 계획수립 및 구현에 대한 권고사항

4) 정보보호 관리자 역할

- 예산확보 (헬프데스크, 개발, 인프라, SW 보안기능 추가

- 타 부서와 협업하여 책, 절차, 기준선, 표준, 지침을 개발

- 보안인식 프로그램 개발 및 제공 : 집합교육, 온라인교육, 보안관련 포스터 공모

- 비즈니스 목적에 대한 이해 
--> 조직의 목표 및 환경 (강약점, 위협, 기회, 법/규제 등)

- 최신 위협/취약점에 대한 인지

- 정부의 법/규정에 대한 컴플라이언스 여부 점검

- 최신 기술 습득 (정보보안 연합회, KISA한국인터넷진흥원 등 과의 관계 구축)

5) 계층별 책임 및 역할

- 경영진 : 정보자산 보호 전반적인 책임, 정보시스템 위험 이해
- 정보보호 이사 : 조직의 정보보호 활동에 대한 계획 수립, 설계, 검토
- 보안전문가 : 보안정책, 절차, 표준, 기준선, 지침 개발 및 구현
- 데이터 소유자 : 정보자산에 대한 책임
- 데이터 관리자 : 시스템 관리자, 백업 수행
- 정보시스템 감사인 : 정책, 절차, 표준, 기준선, 지침을 준수하는지 검토
- 비상계획 관리자 : 비상상황에 대비한 계획 수립
- 보안관리자 : 사용자 접근요청을 처리 및 권한 부여

6) BCP(Business Continuity Planning) 와 DRP(Disaster Recovery Planning)
- 비즈니스 연속성 계획 : 재난 발생 시 비즈니스 연속성을 유지하려는 방법
정상적 운영을 위한 데이터 백업 등을 통해 핵심업무 기능을 지속하는 환경 조성
사업활동이나 프로세스가 중단되는 것에 대항
비즈니스 영향 평가인 BIA가 선행되어야 함
BIA 평가
- 중요기능과 시스템, 리소스 식별
- 리소스에 대한 최대 허용 중단시간 MTD 계산
  수시간 내(매우 치명적), 24시간 내(치명적), 36시간 이상(필수), 일반
- 중단 영향과 허용 가능한 정지시간 기반으로 복구 우선순위 개발
- 위험과 취약점을 식별하고 위험을 계산
- 백업 솔루션 개발

* BCP 계획 수립 절차
비즈니스 분석 -> 위험평가 -> 비즈니스 연속 전략개발-> 비즈니스 연속 계획 개발 -> 계획 연습

* BCP 전체 단계 (NIST 미국 상무부 기술관리국 산하)
계획 수립 -> BIA 평가 -> 예방 통제 식별 -> 연속성 전략 개발 -> 연속성 계획 개발 -> 테스트, 훈련 -> 계획의 유지관리

- 재난 복구 계획 : 재해나 재난으로 인해 정상시설로의 접근거부 등의 이벤트를 다루며,
응용프로그램, 컴퓨터 설비의 운영재개와 같은 IT 중심의 계획을 말한다.
핵심 정보시스템과 데이터가 중단되는 것에 대항
( (화재, 지진, 태풍),  (폭격, 테러, 방화),  ( 장비고장, 소프트웨어 에러, 통신 네트워크 중단) 등)

- 복구전략

1) 미러사이트 : 초기투자 및 유지보수 비용 높으나 실시간 복구가 가능하다

2) 핫 사이트 : 비동기적 방식으로 실시간 미러링을 통해 데이터 최신 유지, 액티브 전환을 4시간 이내

3) 웜 사이트 : 중요성이 높은 정보자원만 부분적으로 재해복구 센터에 보유,
                  실시간 미러링을 안하고 백업주기가 수 시간 ~ 1일 정도

4) 콜드사이트 : 데이터만 원격지에 보관하고 수일 ~ 수주 로 원격지에 백업한다.
                     비용이 저렴하지만, 복구 소요시간이 매우 길고 신뢰성이 낮다.

- RAID

데이터 이중화 및 성능향상을 위한 기술
몇개의 물리적 디스크를 묶고 이것들을 논리적 배열로 정의하여,

저용량, 저성능, 저가용성인 디스크를 중복으로 구성함으로 고용량, 고성능, 고가용성 디스크를 대체한다.
실제 데이터는 여러 개의 물리적 디스크에 저장

1) 데이터 스트라이핑 : 데이터를 여러 조각으로 나누어 여러 디스크에 분산 저장하고 동시에 엑세스를 가능하게 하는 기술로
균등 저장을 위해 라운드 로빈 방식을 사용,  I/O 속도 향상,  중복성은 없음, 일부 디스크 고장 시 복구 불가

2) 중복 : 일부 데이터가 손실된 경우 복구할 수 있도록 중복 저장,
            하나가 고장나면 다른 하나 즉시 사용 가능하지만 비용이 많이 든다.

RAID Level 0 : 스트라이핑 

RAID Level 1 : 미러링 방식이다. 즉, 중복 특성

RAID Level 0 + Level 1 방식도 존재


7) 물리적 보안

시설 위치 선정, 데이터센터 위치 선정 및 설계, 전력에 관한 설계 (정전 대비 등),
입구 통제(자물쇠, 생체인식 등), 온습도 등 환경고려 설계 

8) 디지털 포렌식 : 법정 제출용 디지털 증거를 수집하여 분석하는 기술
    CERT (컴퓨터 비상 대응 팀) : 한국인터넷진흥원 산하 인터넷침해대응센터 있음

9) KISA - ISMS 인증 : 한국인터넷진흥원에서 객관적 평가를 통해 인증하는 제도
심사 분야-> 정보보호 정책, 정보보호 조직, 외부자 보안, 정보자산 분류, 정보보호 교육 및 훈련,
인적보안, 물리적 보안, 시스템개발 보안, 암호통제, 접근통제, 운영 관리, 전자거래 보안, 보안사고 관리,
검토 모니터링 및 감사, 업무 연속성 관리

 인증취득 효과
- 피해사고 피해액 감소
- 정보자산 보호기술 및 정보보호를 위한 관리기술 향상
- 신뢰성 및 기업 이미지와 경쟁력 강화
- 정보보호 인식 제고


* 관련 법규

1) 개인정보 보호
   - 개인정보의 수집 이용의 동의
   - 개인정보의 수집 및 이용의 제한
   - 주민등록번호의 사용 제한
   - 개인정보의 제공 동
   - 개인정보 관리책임자 지정
   - 개인정보 누출 등의 통지 및 신고
   - 개인정보의 파기 
   - 개인정보 이용내역의 통지

2) 전자서명법
   - 공인인증서에 기초한 전자서명을 말한다.
   - 전자문서의 안전성와 신뢰성 확보를 위해 사용자 편익 증진
   - 공인인증기관, 공인인증서, 인증업무의 안전성 및 신뢰성 확보, 전자서명인증 정책의 추진
최상위 기관 : KISA,   공인인증기관 : 한국정보인증, 코스콤, 금융결제원, 한국전자인증, 한국무역정보통신

3) 개인정보 제공 동의 획득시 고지사항
- 개인정보의 이용목적
- 이용하는 개인정보의 항목
- 개인정보 보유 및 이용시간
- 동의 거부권이 있다는 사실 및 동의 거부에 따른 불이익 공지
- 변경사항이 있으면 다시 알리고 동의 받아야 함

4) 개인정보 유출 시 통지사항
- 유출된 개인정보의 항목
- 유출된 시점과 그 경위
- 유출로 인하여 발생할 수 잇는 피해 최소화 위해 정보주체가 할 수 있는 방법에 관한 정보
- 개인정보처리자의 대응조치 및 피해 구제절차
- 정보주체에게 피해가 발생한 경우 신고 등을 접수할 담당부서 및 연락처


 

2. 정보보호 정책 및 위험관리

Posted by ironmask84
2018. 2. 28. 23:52 컴퓨터공학/Security


* 정보보호 정책

1) 접근통제 (식별 -> 인증 -> 인가)  (권한부여, 직무분리, 최소권한 개념으로)

방법 : 패스워드 : 사전공격, 무차별 공격, Backdoor, 사회공학, 스니핑 등에 무력화
         i-PIN : 주민번호 저장안해도 되는 장점
         OTP : 분실시 악용, 배터리 방전 문제
         생체인증 : 높은 비용, 사용자 거부감

통합인증체계 : Kerberos ( 대칭암호 기법, 네트워크를 통한 키분배, 키분배센터 비용 발생)
                    SESAME (비밀키 분배를 공개키 암호화를 사용, 키관리 비용 감소)


2) 접근통제 보안 위협 및 대응책
  - 사전공격 : Password 암호화 저장 (salt 이용)
  - 사회공학 : 보안 인식 교육 필요
  - 피싱 : 스푸핑 이용
  - 스미싱 : SMS이용한 웹사이트 유인 -> 트로이 목마 S/W 설치 -> 개인정보 유출


3) 서버 보안 SW
  - 취약점 분석 도구 : Nessus, SATAN, SARA, nmap(포트 스캐닝)
  - 시스템 침입탐지 시스템 : Snort(실시간 트래픽 분석), TCP-wrapper(Unix 방화벽), Ipchain/IPtable(패킷필터링 방화벽)
  - 무결성 점검도구 : 시스템 백업(tar압축, Norton ghost), 파일무결성 점검 (tripwire, Fcheck, MD5 )
  - 스캔탐지 도구 : mscan(주요 취약점 스캔), sscan(네트워크 취약점 점검)


* 위험관리 ( 검토범위 -> 위험분석 -> 제약조건, 대책 선택 -> 위험 수용)

1) 개요 : 보안정책 -> 위험관리 -> 대응책 구현 -> 사후관리

2) 전체 위험 : 위협 X 취약점 X 자산
   잔여 위험 : 위협 X 취약점 X 자산 X 통제격차

3) 위험에 대한 대책
  - 위험 회피 : 다른 대안 선택, 위험이 실현되지 안도록
  - 위험 전이 : 보험회사 등 다른 개체로 전이 (비용 발생)
  - 위험 완화 : 화재 진압시스템, 방화벽 등 위험 수준 제거 및 감소
  - 위험 수용 : 비용대비 효과를 고려하여, 비즈니스 목적상 수용

4) 위험 분석
-> 정보기술 보안관리를 위한 필수과정, 위험관리 중 80% 이상 비중
    측정된 위험이 허용가능한 수준인지 아닌지 판단할 수 있는 근거 제공
    보안 비용이 효과적이고 적당한지 확인

--> 자산식별, 자산가치/의존도 평가, 기존 보안 대책 평가, 취약성 평가, 위협 평가

--> 수준에 따라 복잡하고 시간 및 인력소모가 크므로 환경에 맞는 분석 수준 선택 필요


5) NIST의 초기분석 모델

범위/한계/방법론 결정 -> 자산의 식별 및 가치선정 -> 위협의 식별 및 발생가능성 결정 -> 위험의 측정
--> 보안대책 선택 -> 보안대책 구현 및 시험 -> 잔여위험 수용

6) 자산의 식별 : 민감하고 중요한 데이터 더 잘보호하기 위해
-> public, Internal use only,           Unclseeified, classfied


7) 정성적 위험분석 (구성요소 손실에 대해 숫자, 판단)
   1) 설문지 
   2) 델파이 기법
   3) 매트릭스
   4) 시나리오 법
   5) 순위결정법


8. 정량적 위험요소(위험에 대해 숫자나 금액으로 객적으로 분석)

  - 자산에 가치 부여
  - 각각의 위협에 대한 점재적 손실 계산
  - 위협 분석의 수행
  - 개별 위협들마다 전체 손실 예상액 도출 (ALE = ARO X SLE)

1) 과가자료 분석법 : 자료가 많아야 정확도는 올라감

2) 수학공식 접근법 : 과거자료가 적을 때 사용

3) 확률분포법 : 미지의 사건 추정

4) 점수법 : 위험발생 요인에 가중치를 두어 위험을 측정

 

1. 정보보호 기초이론

Posted by ironmask84
2018. 2. 28. 00:09 컴퓨터공학/Security


* 정보보호 기본 특성

1. 정보보호 목표 : 기밀성 (접근통제, 암호화)
                        무결성 (hash, 정보조작 X)
                        가용성 (적절한 접근보증, DOS나 DDOS 혹은 자연재해 등의 위협요소 고려)
                        인증 (MAC, 전자서명)
                        부인방지 (전자서명)

위험 -> 자산 X 위협 X 취약점

2. NIST 핵심 5원칙 : 기밀성, 무결성, 가용성, 책임추적성, 보증

3. 정보보호 관리 : 기술적 보호(암호화, 방화벽)
                         물리적 보호(자연재해 방지, 침입방지 등)
                         관리적 보호(접근통제, 정보보호법 내부자 교육 등 보안계획 확립)

4. 일반적 해킹순서
루트권한 획득 -> 스니퍼 등으로 네트워크 트래픽 감청 -> 중요정보 가로챔 -> backdoor 설치(루트킷 등) -> 로그파일 등 침입흔적 삭제

* 봇넷 : 악성프로그램에 감염되어, 나중에 악의적인 의도로 사용될 수 있는 다수의 컴퓨터들이 네트워크로 연결된 형태
           해커는 봇넷에 연결된 컴퓨터를 원격조종해서 개인정보 유출 등의 행위를 한다.

* 통제의 종류

1. 탐지 : 위협을 탐지, 빠른 대체 용이
2. 교정 : 위협이나 취약점에 대처와 감소
3. 예방 : 사전에 위협과 취약점을 대처

암호화 관련 --> http://ironmask.net/310


 

블록체인의 간단 개념

Posted by ironmask84
2018. 1. 11. 22:53 컴퓨터공학/Security



지난 포스팅에서 블록체인을 소개하였습니다.
( http://ironmask.net/419 )


이번에는 좀 더 개념적인 정리를 해서 포스팅합니다. 


1. 해킹을 못하는 이유?

   1) 모두의 거래장부를 공유하면, 수 많은 사람의 기록을 다 조정하지 않으면 조작 불가

   2) 은행의 경우 이용고객 증가시, 서버관리 비용 및 리스크가 증가 하지만, 

      블록체인의 공공장부의 경우 오히려 이용자가 증가할 수록 시스템 안정성이 증가한다.


2. 비트코인에 사용된 블록체인 원리

   1) P2P 네트워크를 통해서 분산형 데이터베이스 거래내역을 저장단위인 블록의 연결

   2) 사토시 나카모토의 논문을 통해 최초 제안

   3) 과반수의 동의를 통해 확정된 거래는 블록으로 생성되어 일정주기로 DB에 업데이트

   4) 비트코인 기록여부의 결정 주체는 블록체인 이용자들

   5) 비트코인 지갑에서 공인된 잔액보가 이루어짐.

   6) 비트코인 지갑에는 각 개인별 비밀키가 존재하고, 이는 거래 인증 전자서명의 효과

   7) 채굴이라는 수학적 알고리즘해결을 통해 비트코인을 얻고(일종의 암호 풀기),

      블록체인에 시간적 순서를 부여하여 네트워크 중립성을 보호하는 역할


3. 비트코인의 발전 가능성

   1) 수 많은 거래내역에 대한 복호화를 해야 위변조가 가능한데, 

      현실적으로 컴퓨팅 성능으로는 불가능


   2) 주식, 채권증서, 소프트웨어 개발 인프라 등 원하는 형식의 정보를 담아서 전달 가능

      --> 중간 금융절차가 없어 익명이용 가능하고, 분산데이터베이스 방식이기에 중앙서버 관리 인력 및 비용이 없어서 거래 수수료 저렴

          --> 이는 앞으로 여러 산업에서 전자상거래, 핀테크의 혁신이!!


4. 블록체인 기술의 활용 사례

   1) 오픈소스이기에 핀테크의 다양한 영역에서 활용 기대 중

   2) 2015년 IBM과 삼성의 ADEPT라는 블록체인을 사물인터넷에 활용하려는 한 사례

   3) 2015년 나스닥 OMX에서도 활용할 계획 밝힘 <-- 거래속도 향상, 간편하고 안전한 거래 관리




 

비트코인의 숨은 핵심기술 - 블록체인!!

Posted by ironmask84
2018. 1. 7. 23:13 컴퓨터공학/Security



제가 비트코인이라는 것을 알게된 것은 2~3년 전부터 유명한 컴퓨터 바이러스 랜섬웨어라는 것에서 였습니다.

랜섬웨어 공격자 해커들이 자료를 풀어준다는 조건으로 비트코인을 송금해라고 한 것이었죠.

비트코인 특성상 거래자끼리 p2p통신을 통해 익명으로 거래되기 때문에 사실상 추적이 불가능합니다.

작년 10월 쯤부터 해서 가상화폐가 국내에 붐을 일으켰습니다.

투기시장이 되고 있는 것 같지만, 전 세계적으로 가상화폐를 통상화폐로 인정해가려는 분위기 입니다.

그냥 온전히 인정을 해주지는 않고,
해커와 같이 범죄자의 송금루트로 사용, 탈세나 비자금의 문제인 돈세탁과 같은 금융범죄 등을 막는 법과 같이 사회적 문제를 일으키지 않을만큼 제도마련을 제대로 규정하고 가상화폐로 인한 수익의 세금을 강하게 규정하는 등을 통해 하려는 것 같습니다.


3~4 년전 부터 이미 가상화폐의 움직임은 시작되었습니다.

가상화폐의 원조격인 비트코인은 블록체인 이라는 기술을 사용한다고 하는데요.

간단하게는 가상화폐로 거래할 때 발생할 수 있는 해킹을 막는 기술이라고 할 수 있습니다.

이론 및 첫 적용은 2008년 사토시나카모토 라는 일본인 개발자에서 시작되었다고 합니다.

기술적인 설명을 바로 알아보기는 어렵겠지만, 인터넷에서 여기저기 대충 보고 생각이 들기로는 이렇습니다.
현 금융 전산시스템은 중앙서버를 통해 거래내역을 관리하여, 모든 힘이 집중되어 있습니다.
이는 중앙서버가 해킹을 당하면, 걷잡을 수 없는 큰 피해를 당하게 되는 것입니다.

하지만, 이를 막기 위해 가장 좋은 방법은 거래내역 관리를 분산시키는 것입니다.
블록체인 기술은 이러한 분산을 금융거래에 참여하는 모든 사용자에게 맡기는 것입니다.
즉, 금융거래 참여자 모두가 모든 거래내역을 공유하게함으로써, 
어느 한 부분을 해킹을 해서 조작하여, 위조나 거짓행세를 할 수 없게 되는 것입니다.

이러한 오픈 혹은 공유 컨셉을 이용해서 가상화폐 뿐만이 아니라 여러 가지 거래나 분야에 적용이 가능할 것입니다.

이미 영국 어느 업체에서는 티켓거래에 적용해서 암거래를 막는데 사용되기도 하고있고, 
러시아 어느 업체에서는 쇼핑몰에 적용하려는 움직임도 보입니다.

가상화폐만으로도 이미 큰 파장이 일어나고 있습니다.

과연 통상화폐와 같이 사용되는 시대가 올지 안올지 모르겠군요.

블록체인 기술이 완벽한지도 아직은 잘 모르겠지만,
좀 더 공부해보고 또 포스팅 해보겠습니다. 


블록체인 참고사이트

간단 : http://terms.naver.com/entry.nhn?docId=2838482&cid=43667&categoryId=43667

상세 : http://terms.naver.com/entry.nhn?docId=3578241&cid=59088&categoryId=59096



 

[전자신문] 지난해 SW기업 매출 3.4% 성장...임베디드SW, 나홀로 하락세

Posted by ironmask84
2017. 12. 23. 21:31 컴퓨터공학/IT 뉴스 기사


[전자신문] 지난해 SW기업 매출 3.4% 성장...임베디드SW, 나홀로 하락세

그래도 우리나라 SW기업들이 조금씩이나마 성장하고 있다는 것이 다행입니다.

아시다시피 우리나라는 지하자원이 풍부한 것도 아니고, 땅덩어리도 적어 농업국가가 되기도 어려우며,
인구밀도도 높아 경쟁이 치열하고, 게다가 땅 값도 비싸서 개인 사업이 실패할 확률도 높습니다.

위와 같은 여러 이유들로 인해 대한민국 국민 경제가 발전하기가 참 쉽지 않은 상황에서
SW기업의 성장과 이어지는 일자리 창출이 빛을 발할 수 있기 때문이죠 ^^
아직은 지켜보는 단계이지만, 성공하는 기업들이 늘어나면 좋을 듯 합니다. 

저 또한 SW개발자 입장에서 생각하면, 일 자체는 머리아프기는 하지만요 ㅜㅜ
IT 쪽은 워낙 기술 발전이 빠르다보니, 개개인은 공부가 계속 필요해집니다... ㅜㅜ

아무튼 그 와중에 임베디드SW 산업이 하락세 라고 하는군요!

기사에는 단순히 수요가 적기 때문으로 일축했는데요.

곰곰이 생각해보면, 예전에 임베디드 SW가 크게 발전해온 것은 HW 스펙이 낮고 비싼 시절이었기에
임베디드 SW를 고도화시켜서 이를 보완할 필요가 컸다고 봅니다.

하지만, 이제는 HW가 워낙 많이 발전했기 때문에 가격도 낮아지고 스펙도 좋아져서
덩치가 작은 임베디드 SW보다는 덩치가 큰 SW들이 많이 발전하고 있습니다.
최근에 머신러닝, 빅데이터, 인공지능 등이 좋은 예 입니다.

여담이지만, 저는 SW개발자로 정확히는 코딩에 대해 워크홀릭처럼 되진 않는 것 같군요.
그냥 취미로 간간이 하기엔 좋겠지만, 아주 뛰어나고 멋진 코딩을 하는 것엔 생각이 많이 가질 않습니다.
SW아키텍터로서 크고 싶지만, 회사업무가 또 그에 받쳐줘야 하는 문제가 크네요.
직장인들은 알겠지만, 회사에서 본인이 원하는 업무를 주진 않거든요..
본인이 원하는 잡을 찾아 회사를 찾아가도 되겠지만, 그게 또 다른 조건들 맞추려다 보면 쉽지 않습니다.

잡담은 각설하고 이만 글을 마치겠습니다. ^^


 

[한국경제] MS·구글 등 IT 공룡들, AI 스타트업 사들이는 까닭

Posted by ironmask84
2017. 12. 14. 23:59 컴퓨터공학/IT 뉴스 기사


[한국경제] MS·구글 등 IT 공룡들, AI 스타트업 사들이는 까닭

MS, 구글 등의 IT 공룡회사들이 벤처기업들을  인수해온 것은 최근에 시작된 일이 아닙니다.

IT 산업에 종사하는 제 입장에서는 항상 부러워만 해온 결과들이었네요 ㅜㅜ

아시다시피 IT 산업의 성장과 변화는 매우 빠릅니다.

날이 다르게 새로운 기술과 서비스가 쏟아져 나옵니다.

이러한 변화를 계속해서 이겨낸 기업들이 공룡기업이 되었고, 
이윽고, 새로운 기술들을 다 따라갈 수 없으니, 최근에 언급하는 스타트업 회사를 인수하는 양상이 벌어집니다.

중소기업과 상생이라는 측면에서는 긍정적으로 생각합니다. ^^
다만, 아직 우리나라에서는 이러한 사례가 잘 보이지는 않는 것 같네요.

앞서 포스팅한 IT기사에서도 보았듯이, 우리나라 SW 비중이 15%로는 아직 많이 부족해 보입니다.

최근 폭풍 주가를 달리고 있는 바이오 산업과 함께 우리나라의 신 성장 동력이 되길 기대해 봅니다. 

 

[연합뉴스] 한국 IT, 소프트웨어 비중 15% 불과…美 62%·中 58%

Posted by ironmask84
2017. 12. 11. 22:54 컴퓨터공학/IT 뉴스 기사



[연합뉴스] 한국 IT, 소프트웨어 비중 15% 불과…美 62%·中 58%

우리나라에는 IT 강국이라는 수식어가 붙은지도 한참 되었습니다.

하지만, 그것은 IT 인프라 즉,  인터넷망, 모바일 통신망 등을 통해 IT 기기들의 대중화, 보급화가 강국이 된 것이고

실상 IT산업 자체가 강국인지는 모르겠습니다.

삼성전자, LG전자, 네이버, 카카오 등 글로벌 IT 산업 회사들이 있습니다만은

SW 비중이 15%로는 아직 많이 부족해 보입니다.

HW도 중요하지만, 이제 시대는 SW로 많이 기울고 있습니다.

HW는 이미 많은 발전이 이루어져 왔고, 

거기에 활용할 SW는 수 천배, 수 만배에 달하는 분야로의 발전이 있을 수 있습니다.

왜냐면, 서비스는 SW를 통해 창출해내기 때문입니다.

미국의 구글, 아마존, 페이스북 등에 이어 중국도 세차게 부상하고 있습니다.

그래서 인지 우리나라 정부는 작년부터 코딩 과목을 초,중등학교에 시범으로 시작해서 
내년에는 정식으로 시작된다는 소식이 들리네요 ㅋㅋ

우리나라가 SW교육을 통해 창의적인 인재 육성과 더불어 SW강국이 되는 것은 반가운 일이긴 합니다만,
그로 인해 경제도 많이 활성화 되었으면 좋겠네요 :)

 

C언어 샘플코드 - 파일입출력과 문자열 파싱

Posted by ironmask84
2017. 10. 17. 08:57 컴퓨터공학/C언어 레퍼런스



2년도 전에 타 블로거의 글을 참고해서 문자열함수에 대해 공유 드린적이 있었습니다.
( http://ironmask.net/198 )

내가 아닌 다른 분이  작성한 것을 참고하는 것은 역시 세월이 지나면,

참고할 때의 기억이 잘 안나는 것 같네요 ㅎㅎ

SW개발 업무를 맡고는 있지만 디버깅하는 업무가 많다보니,

코딩을 할 때 원하는 함수나 문법이 생각이 나지 않을 때가 종종 있습니다.

사실 다루는 프로그래밍 언어도 한 개에 국한되지 않으므로 더욱 혼잡함 ㅜㅜ

아무튼 그래서 기회되는 대로 샘플코드 형식으로 기록도 남기고,

방문자분들에게도 좋은 정보를 제공하도록 하겠습니다. :)


주제 요약 설명

C언어로 파일을 읽어와서

특정 키워드와 비교하는 조건문을 통해,

특정 delimiter로 파싱해서 결과물을 얻는 코드 입니다.

주요 사용 함수는 fopen, fgets, strncmp, strtok 입니다.

C언어의 기본 문법과 함수에 대한 사용법을 어느 정도 숙지하신 것을 

기본 전제로 진행합니다. ^^

샘플 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
/*
Start 2017-10-10
By ironmask 
*/
 
int main( int argc, char* argv[] )
{
    
    char* token;
    char* token2;
    
    char strline[100];    // one line sentence
    int i = 0;
    char* word = "iface eth0 inet static"// keyword
    
    FILE *fp = fopen("../../etc/network/interfaces""r+");
    
    if(fp == NULL){
        puts("FAIL");
        return -1;
    }
    
    
    while(fgets(strline, sizeof(strline), fp)) // 한줄을 읽는데 size 만큼 읽는다.
    {     
        // interfaces File 내에 특정 키워드 찾기
        if(strncmp(strline, word, strlen(word) ) == 0)
        {
            // address
            fgets(strline, sizeof(strline), fp);
            
            token = strtok(strline, " ");    // 공백을 delimiter 기준으로 자르기
            token = strtok(NULL" "); // 더 이상 문자열이 없으면 NULL을 반환
            token[strlen(token)-1= '\0';    // gets 함수는 마지막에 \n이 들어가므로 이를 제거하기 위해 널값 삽입
            printf("%s\n", token);
            
            // netmask
            fgets(strline, sizeof(strline), fp);
            
            token = strtok(strline, " ");    
            token = strtok(NULL" "); 
            token[strlen(token)-1= '\0';
            printf("%s\n", token);
            
            // broadcast
            fgets(strline, sizeof(strline), fp);
            
            token = strtok(strline, " ");    
            token = strtok(NULL" "); 
            token[strlen(token)-1= '\0';
            printf("%s\n", token);
                
            // network
            fgets(strline, sizeof(strline), fp);
            
            token = strtok(strline, " ");    
            token = strtok(NULL" "); 
            token[strlen(token)-1= '\0';
            printf("%s\n", token);
            /*
            token2 = strtok(token, ".");
            printf("%s\n", token2);
            token2 = strtok(NULL, "."); 
            printf("%s\n", token2);
            token2 = strtok(NULL, "."); 
            printf("%s\n", token2);
            token2 = strtok(NULL, "."); 
            printf("%s\n", token2);
            */
            
        }    
    
    //    memset( &strline, 0, sizeof(strline) );
    //    printf("hello\n");
    }    
    
    fclose(fp);
    return 0 ;
}
cs


아래는 위 소스에서 사용된 interfaces 파일 내용 입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
 
# The loopback interface
auto lo
iface lo inet loopback
 
# Wireless interfaces
iface wlan0 inet dhcp
        wireless_mode managed
        wireless_essid any
        wpa-driver wext
        wpa-conf /etc/wpa_supplicant.conf
 
iface atml0 inet dhcp
 
# Wired or wireless interfaces
allow-hotplug eth0
auto eth0
iface eth0 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        broadcast 192.168.0.255
        network 192.168.0.0
        up /etc/network/if-up.d/eth0-up.sh
 
allow-hotplug eth1
auto eth1
iface eth1 inet static
        address 10.104.91.15
        netmask 255.255.255.0
        network 10.104.91.0
        gateway 10.104.91.1
        dns-nameserver 156.147.19.132
        up /etc/network/if-up.d/eth1-up-nat.sh
        down /etc/network/if-post-down.d/eth1-down-nat.sh
cs




 

LAN과 WAN 그리고 Ethernet

Posted by ironmask84
2017. 8. 8. 11:11 컴퓨터공학/통신 기술


센서를 이용하는 HW 보드 제품을 연구개발하다 보니,

이제는 LAN, WAN 포트를 통한 데이터 통신 테스트를 위해...

어렴풋이 알고있는 LAN, WAN, Ethernet에 대한 개념 정리를 하게되네요 ㅎㅎ

간단하게 얘기드리면,

LAN, WAN은 네트워크의 유형입니다.

그리고 Ethernet은 네트워크에 사용되는 프로토콜 즉, 규약의 한 종류입니다.




LAN (Local Area Network)

- 통신 주체인 자신이 포함된 동일 네트워크를 의미하며 비교적 작은 범위로 구성된다. (사용자가 포함된 지역 네트워크)

- 연결 방법 : LAN장비를 사용하여 연결 실시
- 연결 장비 : NIC(랜카드) , Switch , T/P Cable

- 스위치, 랜카드(NIC), UTP 캐이블, 무선 AP를 사용하여 구축

- Ethernet 프로토콜 사용

- 버스 토폴로지나 스타 토폴로지 방법으로 구성

- 특징 : 네트워크 구축시 비용이 증가하지만 통신 , 유지/보수 비용이 감소한다.

- 통신 Protocol : Ethernet (IEEE에서 지정한 LAN구간 표준 Protocol)

      * Ethernet : 10Mbps
      * FastEthernet : 100Mbps
      * GigabitEthernet : 1,000Mbps

- 통신 주소 : Mac-address (16진수 48bit , HH-HH-HH-HH-HH-HH)


WAN (Wide Area Network)

- 자신이 포함되지 않은 외부 네트워크구간을 의미하며 비교적 큰 범위로 구성된다. (분리된 LAN과 LAN을 연결하는 네트워크)

- 연결 방법 : WAN장비를 사용하여 연결 실시
- 연결 장비 : Router

- 특징 : 일반적으로 ISP로부터 임대회선을 사용하기때문에 네트워크 구축 비용이 감소하지만 통신 , 유지/보수 비용이 증가한다.
- 통신 Protocol : IP  (Internet Protocol : IANA에서 관리), HDLC, PPP,  최근에는 Ethernet 을 많이 사용
- 통신 주소 : IP address (10진수 32bit , A.B.C.D)


라우터는 서로 다른 네트워크를 연결하며, 로컬 환경에서 리모트 환경으로 원거리 데이터 전송을 담당한다.

이때, 라우터로 연결된 WAN 구간에서 사용하는 대표적인 프로토콜 중 점-대-점 환경에서

사용하는 HDLC 와 PPP가 있으며, 패킷 스위칭 환경에서 사용하는 Frame-Relay가 있다.

 

WAN 구간은 ISP로부터 고객 환경에 적합한 서비스를 임대하는 방식이므로 유지 보수 비용이

지속적으로 나온다는 특징을 갖고 있으며, 관리는 ISP 업체 관리자가 시행하는 것이 일반적이다.


하나의 LAN에서 다른 LAN으로 가려면 반드시 라우터를 거쳐야한다.

윗 그림 WAN 구간에서 사용하는 전송 프로토콜이 HDLC,PPP 등 있는것이다.

 

 

데이터링크 2계층 전송 프로토콜 간략한 설명

 

PPP(Point-To-Point)

점대점 프로토콜이라고 불리우는 이 프로토콜은 네트워크 분야에서 두 통신 노드 간의 직접적인 연결을 위해

일반적으로 사용되는 2계층 데이터 링크 전송 프로토콜이다.

 

HDLC(High-Level Data Link Control)

HDLC 프로토콜은 Cisco 전용 프로토콜이다. PPP와 마찬가지로 2계층 데이터링크 전송 프로토콜이다.

 

Frame-Relay

PPP와 HDLC와 마찬가지로 2계층 데이터 링크 전송 프로토콜이고

HDLC나 PPP와는 다르게 point to multi-point 가 가능하다.

즉 뭐냐.. HDLC나 PPP는 단말과 서버가 1:1 작용인 Point to Point 인데

이건 1:다수(N) 이 가능한 point to multi-point 란 뜻이다.

 

 

☆참고로 HDLC나 PPP는 WAN구간의 프로토콜이지만 2계층장비 데이터링크 전송 프로토콜이다.

꼭 잊어버리지 말고 기억해 두자!

( 3계층 프로토콜로 착각하는 분들이 많음 )


common carrier(공동망 사업자)에 의해 운영된다. (한국 같은 경우 SK, SKT, LG U+ 등)

WAN 경로 구축에는 두 가지 기술적 방안이 있다.


Circuit Switching : 주로 전화망에 사용

Packet Switching : 인터넷 및 여러 분야에서 광범위하게 사용


Circuit Switching (회선 교환 방식)

물리적 회선을 잡아서 통신하는 방식이다.


Medium : 전송 매체. 동축 케이블, 광섬유 등 물리적 매체의 종류를 가리킨다. 

도로에 비유하면 비포장 도로, 콘크리트 도로, 아스팔트 도로와 같은 종류를 가리킨다.

Link : Medium + Protocol

도로에 비율 하면 "강남대로" 라는 링크는 : Medium은 아스팔트 도로이고 대한민국 교통법규라는 프로토콜에 맞춰서 운영된다.

Channel : 한 회선을 여러명이 나눠쓸 수 있도록 시간대별이나 주파수 폭 등으로 구분

도로에 비유하면 차선에 해당한다.

Circuit : 한 호스트에서 다른 호스트로 가기 위하 전체 경로

도로에 비유하면 [대구시청 -> 북대구 IC > 무슨 고속도로 -> 무슨 IC -> 3번 국도 -> 부산 대로 -> 해운대로 -> 부산시청] 이 대구시청에서 부산시청간 Circuit이다.


Packet Switching (패킷 교환 방식)

패킷이라는 작은 조각 단위로 데이터를 나눠 각각을 각 node를 거쳐 목적지까지 전달시킨다.


Virtual Circuit방식과 Datagram방식이 있다.

Datagram : 패킷을 하나씩 발송한다. 각 노드에선 네트워크 상황에 따라 각각의 경로를 임의 결정해서 보낸다.

Virtual Circuit : Store & forward 방식으로 패킷들을 잠깐 저장 해 뒀다가 적절한 가상의 경로(Circuit)을 설정해서 한꺼번에 보낸다.




아래는 보너스로 ISP 및 국내 인터넷 망 구조에 대한 내용입니다. :)

Internet Structure

Internet Service Provider (ISP

 - 사용자에게 인터넷이 제공되는 가장 말단의 관문

 - 사용자에게 temporary IP를 제공

Point of Presence (POP)

 - 가입자가 ISP로 접속하기 위한 접속점

 - 접속과 인증 절차를 관장

Network Service Provider (NSP)

 - ISP에 Backbone Network를 제공

Network Access Point (NAP)

 - ISP끼리의 접속점


아래 두 그림을 비교해서 보면 이해가 갈 것이다.


Internet Structure Example





국내 인터넷 망

참조 사이트
http://blog.naver.com/izam23/90149229470
http://blog.naver.com/asd7979/30102690564
http://raisonde.tistory.com/240