2016년 12월 14일 수요일

Network Flow and Beyond



요약
이번 회에서는 네트워크 분석과 네트워크 데이터 조작 방법에 대해 이야기 한다. 네트워크 시스템 생존 가능성 프로그램 (Networked Systems Survivability Program)은 일부 주요 조직과 상당히 광범위한 네트워크에서 데이터를 수집하고, 해당 네트워크의 보안 결정을 알리는데 도움이 되고 분석을 수행하는 네트워크 센서를 설치함으로써 확장해 나갔다.
2003 년 이래로 SEI는 네트워크 흐름 데이터를 수집하고 있다. 네트워크 흐름 데이터란 컴퓨터에서 다른 컴퓨터로 이동하는 네트워크를 통해 이동하는 트래픽 기록이다. 어디서 왔는지, 어디로 갈 것인지, 이동했는지, 얼마나 오래 되었는지 알려준다. 하지만, 데이터가 이동했는지만 알려주고 내용은 포함하지 않는다.
몇가지 이유로 네트워크 보안에 유용한데, 하나는 네트워크 흐름 데이터를 매우 간결하게 만들어서 매우 작은 공간에 기록한다. 그리고, 다양한 위협 분석이나 상황 정보를 이해하거나 다양한 분석을 수행 할 수 있는 지표 정보로 활용된다.
발신자가 이메일을 보내기 시작한 지 5 분 이내에 스팸 이메일의 출처를 확인할 수 있고, 롤링 블록을 수행하면 전송하는 소스를 차단하여 스팸의 75 % 정도를 차단할 수 있다. 정크 메일과 같은 것이 아니라 실제 IP 주소로 할 수 있다. 네트워크 흐름은 매우 강력한 데이터 소스이다.
앞에서 콘텐츠가 없다는 장점에 대해 이야기했는데, 단점도 있다. SQL 인젝션처럼 데이터를 공격하는 경우 내용을 보지 못하기 때문에 안된다는 것을 알려주지 않는다.
대규모 조직을 다루는 경우 실제로 네트워크를 통해 많은 데이터가 이동한다. 출발점에서 보고있는 것을 일반화하고 확장해 이러한 현상을 이해하는 데 관련된 모든 원인을 포착 할 수 있어야 한다. 즉, 새로운 서비스를 사용할 때, 새로운 서비스를 보호하기위한 보안 조치에 대해 생각해야 한다. 아니면, 악의적인 공격이 발생할 수 있다.


산업 발전에 따른 소프트웨어 안전 이슈

최근에는 거의 모든 산업에서 소프트웨어를 사용 중이다소프트웨어가 광범위하게 사용되어 삶의 질은 높아지고 소프트웨어가 국가나기업개인들의 경쟁력까지 만들어내고 있다사람이 눈으로 보고 직접 운전해야 했던 자동차 산업은 자율 운전 시스템을 만들었고각종 의료 정보 분석을 통해 질병을 예측하고 맞춤형 치료가 가능하게 하고 있지만그만큼 불완전한 소프트웨어의 오류는 치명적인 안전사고를 일으킬  있다이번 회에서는 위험 요인이 발생하지 않도록 하는 소프트웨어 안전에 대해 ㈜현대파워텍 이윤희 팀장을 만나자세한 얘기를 들어본다.

Q: 안녕하세요이제 소프트웨어가 없으면 생활을   없을 정도로 거의 모든 곳에서 소프트웨어가 적용되는  같습니다그만큼소프트웨어에 대한 신뢰도도 높아야   같은데소프트웨어 안전에 대해 설명해 주시죠.

우리가 알고있는 소프트웨어의 대부분은 오류가 발생해도 게임이 동작하지 않거나 내가 원하지 않는 결과가 나오는 정도였습니다소프트웨어가 별도의 화면을 가지고 있고 독자적으로 구동되는 형태였기 때문입니다그런데요새 나오는 소프트웨어는 기계들을 움직이거나 자체적인 판단을 하는 것이 많습니다자동차를 움직이고환자를 진찰하고드론이 물건을 배달하는  말이죠이러한 일들을가능하게 하는 것이 바로 소프트웨어입니다소프트웨어가 없을 때는 사람이 직접 판단하고 움직이고 했던 것들이지요.
 모든 것들이 소프트웨어를 통해 자동으로  움직이면 좋지만가끔 소프트웨어의 오류로 인해 제대로 동작하지 않을 경우도 있습니다만약운전자는  안에서 자고있고 자율 운전을 통해 자동차가 동작하고 있다고 가정하죠고속도로를 달리고 있는데 소프트웨어오류로 인해  차를 인지하지 못해 추돌사고가 발생할 수도 있다는 것입니다이처럼 소프트웨어의 위험 요소들을 제거해 소프트웨어오류가 발생하지 않도록 하는 것을 소프트웨어 안전이라고 하고 있습니다.
최근에 있었던 중국 윈저우 고속철 탈선이나 상왕십리 지하철 추돌 사고 같은 것들은 소프트웨어의 안전이 보장되지 않아 일어난 사고라고   있습니다그래서그림1 같이 철도 산업에서는 철도 소프트웨어에 대한 안전 기준 등을 만들어 철도의 안전의 부분으로적용하는 것입니다지금보다 소프트웨어가  적용될 미래 사회에서는 소프트웨어 안전이 더욱 중요해질 것으로 예상할  있습니다.


모바일 SW 개발 사례 연구 - UI와 인터렉션

PC 에서 모바일로 개인의 사용률이 이동하면서 모바일 소프트웨어가 우후죽순으로 생겨나고 있다 모바일 소프트웨어의 경우 , PC와는 다르게 디바이스 자체의 한계성 때문에 사용자와의 인터페이스가 매우 중요한 고려사항 중 하나다 최근에는 모바일 UI와 인터렉션(Interaction; 상호작용 )에 대한 가이드도 많이 나오고 있고 이 것이 개발 표준이나 디바이스 표준으로 확장되는 경우도 많아지고 있다 이번 회에서는 사용자가 모바일 소프트웨어를 더 쉽고 효율적으로 사용할 수 있도록 하는 방법에 대해 살펴보도록 한다 적용 방법을 잘 이해하여 효율적인 모바일 소프트웨어 개발이 되기를 기대한다 .
사례 연구 전 확인 사항

소프트웨어 개발 UI/UX 참조 모델

소프트웨어 품질 기준으로 소프트웨어 개발 프로세스에 맞춘 UI/UX 개발 프로세스가 정의되어 있다 (그림 1). 개발 단계별 목표 전략요구사항 정의 설계 및 구현 그리고 테스트와 배포에 대한 가이드와 검증 방법이 정의되어 있고 사용자 중심의 소프트웨어 개발이 이루어지도록 되어 있다 .

<그림1> 소프트웨어 개발 UI/UX 참조 모델
출처소프트웨어공학센터

그림 1을 살펴보면 각 단계별로 소프트웨어 개발을 진행하게 되고 그에 따른 UX 관점으로 필요한 사항들을 정리하도록 되어 있다 .각 단계별로 수행해야 하는 내용에 대해서는 아래 사이트를 참조하도록 한다 .