반응형

출처: http://m.blog.naver.com/msnayana/220776380373


컨벌루션 신경망 ( Convolutional Neural Networks, CNN ) ~ 개요

딥러닝 알고리즘중에서 

영상과 음성에서 좋은 성능을 보이는 알고리즘으로 CNN이 있다.

이  합성곱신경망(컨벌루션 신경망,CNN)은  전처리를 추가한 다층퍼셉트론의 한종류이지만

​2차원 데이타의 입력이 용이하고 훈련이 용이하고  적은 매개변수라는 장점이 있어 많이 사용된다.

또한

최근엔 CNN과 거의 비슷한 합성곱 심층 신뢰신경망(Convolutional Deep Belief Network, CDBN)

이  개발되어  이 알고리즘의  활용성이 많이 높아 진상태이다.

단순하게 표현하면

CNN은  신경망에 기존의 필터기술을 병합하여

신경망이 2차원 영상을 잘 습득할수 있도록 ​최적화시킨 방법(알고리즘)이다.

​용어에서 보듯이 먼저 컨벌류션(합성곱)의  의미를 이해해야 한다.

​CNN은  용어처름

컨벌류션(기존 영상처리의 필터)기능과 신경망을 결합시켜 성능을 발휘토록 만든 구조이다.  

간단히 표현하면 

       컨벌류션(합성곱) + 신경망 = CNN   이다.

 좀 더 세분화하면

 컨벌류션과 sub-sampling 을 반복하여 데이타량을 줄이고 왜곡시켜  신경망에서 분류케 만든다.

일반적으로  모델은​

 특징추출 +  분류행위 =  부류결과  라는 형식으로 동작하는데

  특징추출은 컨벌류션으로 하고, 분류행위는 신경망으로 한 것이다. ​

그래서 먼저 컨벌류션을 이해해야 한다.

이 기법은 기존의 영상처리에서 잘 사용하는 기능으로 영상필터로 사용된 기술이다.

​영상처리에서 컨벌루션이란 가중치를 갖는 마스크를 이용해서 영상처리를 하는 것을 의미하는데
입력 영상에 마스크를 씌운다음, 입력 영상의 픽셀값과 마스크의 가중치를
각각 곱한 후 그 합을 출력영상의 픽셀값으로 정하는 것을 말한다. 
영상처리에 사용되는 마스크를 필터, 윈도 또는 커널이라고 한다.

​위 과정을 세분화 시켜 아래에서 살펴보면

​입력영상에 윈도우를 이동하면서 계산하는데

계산은 ​ 위처름 해당영역에 윈도우값을 곱하여 합한결과를 적어 나간다.

​이것이 컨벌루션으로 이렇게 하면  아래같은 결과를 만들수 있다.

​이것은 기존의 필터 기술로서 원하는 영상을  추출하고자 할때 사용하는데 특징추출이 주 목적이다.

​기존의 영상필터는 커널(윈도우)이 고정값을 사용했는데

여기서는 ​ 필터값도 학습에의해 바뀌도록 설계되어  있다.

그리고

​추출할때는 다양한 여러장을  추출하여  강인한 특징(왜곡,변형같은 환경변화에 잘 적응하는)을

유도하는데  이것을 feature maps이라 한다.  아래 처름..

​아래 그림은

컨벌류션과 subsampling을 반복하면서 영상을 줄여나가는 기본기능을 도식했다.​

​이렇게 계속 줄여나가면 특징이 남게되고

​신경망의 각 입력단자에 바로 접속이 가능한 일차원의 fully connected가 나오고

이것을 신경망 입력단자에 연결시켜 학습시킨다.

​subsampling은 화면의 크기를 줄이는 과정인데 

아래의 방법인 max pool 을 사용한다(해당영역의 최대치를 선택기법)

​위 그림처름 4개중  가장 큰수를 선택하는데 이것은 뉴런이 가장큰신호에 반응하는 것과 유사하다.

이렇게 하면 노이즈가 감소하고 속도도 빠라지고 영상의 분별력이 좋아진다고 한다 

Fully Connected는 ​

2차원 영상을 컨벌류션과 서브​샘플링없이 바로 신경망의 입력에 붙인 다면

학습시간증가, 망의 크기, 변수의 개수가 많아지는  문제가 발생한다.

이렇게 되면 오버피팅과 지역해수렴등의 다양한 문제에 봉착하여 사용이 어렵다. ​

줄이고 줄여 1차원 행렬이 되도록 하여 신경망의 입력단에 각각 하나씩 하여 모두를 매핑한다. 

이렇게 하여 구성한 방법은 아래와 같이 된다.

​위 그림은

컨벌류션과 서브샘플링으로  2차원영상이 특징만 남기고 줄여 1차원 행렬로 바뀌는 과정이다.​

 

​그 과정은

​ 1) 특징추출

 2) topology변화에 영향이 적도록 처리

 3) 분류

 라는 순서로 처리 됨을 알수 있다.​

​ 아래 그림 처름..

​CNN은 layer를 많이 하면 계산량은 늘어나지만 성능은 좋아 진다고 알려져 있다.

​microsoft는 152개의 layer를 적용한 CNN을 만들었다고 한다.

 

이 CNN으로 아래 그림에서 개와 고양이를 골라 낸다.

그것도 아주 잘...​

​다음엔 CNN을 세부적으로 살펴 볼까 한다.

 

마지막 수정일
2016. 9. 12. (본문 내용 업데이트)

반응형
반응형

MiPlatform_XPLATFORM_보안취약점관련.pdf


반응형
반응형

출처: http://woony5231.tistory.com/entry/%EB%A7%88%EC%9D%B4%ED%94%8C%EB%9E%AB%ED%8F%BC%EC%9D%B4%EB%9E%80



PID Developer's Guide.pdf




마이플랫폼(MiPlatform)은 클라이언트/서버 환경의 웹의 클라이언트 환경을 대체할 대표적인 대안인 X-Internet 기반의


제품으로 국내 유일의 유무선 통합 UI 개발/운용 환경이다.

포레스트 리서치가 주창한 X-인터넷 개념 (eXecutable은 물론 eXtended Internet까지 확장된 개념)을 가장 완벽하게


재현해낸 솔루션으로 4GL 수준의 강력하고 풍부한 사용자 인터페이스(UI) 및 용이한 애플리케이션 개발 환경을 제공하고,


한번의 응용프로그램 개발로 웹은 물론 PDA, Smart Phone 등 다양한 채널을 통합관리 할 수 있으며, 또한 바코드 리더기 등


다양한 외부 장비와의 손쉬운 인터페이스를 제공한다.

이 밖에 다양한 출력 포맷 및 미려한 리포트 디자인을 지원하는 리포팅 툴을 기본 내장하였으며 필요한 경우 별도의 3rd Party


제품과의 손쉬운 연계가 가능하여 개발에서부터 화면 배포, 최종 출력까지 모든 프로세스를 통합 관리하는 솔루션이다.







효과적인 모바일 서비스 지원하는 X-인터넷 솔루션

투비소프트는 자사의 X-인터넷 솔루션인 ‘마이플랫폼’이


마이크로소프트 인터넷 익스플로러 대신, 자체 개발한 비즈니스 전용 브라우저를

 

기반으로 하고 있어 윈도우 운영체제에 독립적이라는 것을 특장점으로


내세우고 있다.


또 한 번의 웹 애플리케이션 개발로 클라이언트-서버 환경은 물론 모바일 환경


에서도 사용할 수 있도록 해주는 국내 유일한 X-인터넷 솔루션이라는 것 역시


투비소프트의 자랑으로, 특히 네트워크 트래픽을 최소화해 유무선 네트워크 환경에서


쾌적한 애플리케이션 사용을 보장하고 있다.


사용자 삽입 이미지

다른 국내 X-인터넷 솔루션들이 웹 브라우저(IE)를 기반으로 하고 있는데 비해


투비소프트에서 자체 개발한 비즈니스 전용 브라우저를 기반으로 하고 있는


마이플랫폼 3.1은 특히 신속한 데이터 조회를 필요로 하는 금융권에 적합하다. 

또한 직원들의 모바일을 통한 적재적시의 업무처리와 이용자(고객)들에게


다양한 모바일 서비스를 지원하고자 하는 물류, 통신, 제조, 의료, 대학 및


공공 기관으로 다양하게 도입돼 이용되고 있다. 

자체 개발한 비즈니스 전용 브라우저를 기반으로 한 마이플랫폼은 소스 코드가 윈도우 OS에 독립적이기 때문에 다양한


OS로의 이식이 가능하다. 따라서 한 번의 개발로 웹과 클라이언트 서버는 물론 동시에 다양한 모바일 서비스를 지원하는


국내 유일한 X-인터넷 솔루션이라 게 마이플랫폼의 특장점이다.

투비소프트 부설연구소 이우철 팀장은 “웹 브라우저를 기반으로 한 다른 솔루션들의 경우 웹 브라우저에 독립적이지 못하다.


예를 들면 웹 내에 버그가 생길 경우 웹이 고쳐져야만 해결되는 것처럼 웹이 제공 못하는 기능도 있는데, 마이플랫폼은 기본


OS에 독립적이란 게 다른 솔루션과의 가장 큰 차별점”이라고 설명한다. 

마이플랫폼 3.1은 자체 개발한 X-인터넷 개발툴인 PID(Presentation Interface Developer)툴을 지원함으로써


비주얼 베이직, 델파이, 파워빌더와 유사한 인터페이스 및 기능을 제공한다.


특히 PID툴은 개발자들이 소스 코드에 대한 개발 단계별 결과 값을 확인할 수 있어 개발 과정에서의 잘못된 부분을 찾는 데


용이한 라인 디버깅(Line Debugging) 기능과 다양한 프로젝트 폼의 조합을 지원하는 MDI(Multi Documents Interface) 등을


지원함으로써 개발자들의 손쉬운 업무 실현을 돕는다. 

실제로 중앙대병원은 다양한 의료 장비와 기존 시스템 자원(컴포넌트)과의 연동을 목적으로 마이플랫폼을 도입해


종합의료정보시스템을 운영중인데, 중앙대병원의 개발자들은 MDI를 이용해 손쉬운 개발과 다양한 응용을 함으로써


개발 생산성을 극대화하고 있다. 


투비소프트 이우철 팀장은 “개발 생산성의 핵심은 버그를 찾아내는 속도인데, PID 툴에서 디버깅에 대해서도 추적할 수 있는


라인디버깅 기능을 지원하기 때문에 개발 생산성을 높이는 데 효과적”이라며, “마이플랫폼은 코드 시작과 끝을 찾아내는 기능을


지원하는 국내 유일한 X-인터넷 솔루션” 이라고 강조한다. 

 

 

네트워크 트래픽 ‘최소화’로 모바일 환경에서도 ‘탁월’

마이플랫폼 3.1은 최대 80% 데이터 압축으로 네트워크 부하를 감소하고 캐싱 기능을 통해 네트워크 트래픽을 최소화한다.


또 자체 개발한 브라우저를 기반으로 하고 있기 때문에 개발자가 구현한 화면 산출물에 대한 최적화가 가능하다는 게 이우철


팀장의 설명. 

현재 조흥은행은 유무선 통합 뱅킹 서비스인 ‘원클릭’ 서비스에 마이플랫폼을 도입해 이용중이다. 기존에 인터넷 뱅킹 시


데이터 조회 속도가 느려 업무를 보는데 고객들이 불편을 겪었지만, 현재 마이플랫폼의 캐싱 기능으로 화면에 부하가 없고,


기존에 비해 데이터 패킷 양이 7배 정도 줄어들어 인터넷 환경이 좋지 않거나 원격지에서도 쾌적하게 사용할 수 있다. 

조흥은행 관계자는 “투비소프트의 마이플랫폼을 이용해 인터넷 뱅킹 애플리케이션을 개발했는데, 속도가 빠른 편이다.


남극에 파견돼 있는 연구소에서도 인터넷 뱅킹으로 편리하고 빠르게 계좌 데이터 조회 등 인터넷으로 뱅킹 서비스를 제공받고


있다”고 전했다. 

또한 SK텔레콤은 기업전용 모바일 플랫폼인 BCP(Business Common Platform)에 마이플랫폼을 도입했다. 마이플랫폼은


네트워크로 보내지는 데이터를 압축, 전송함으로써 트래픽을 최소화하기 때문에 기업들은 마이플랫폼을 이용해 개발한


데스크톱이나 서버용 애플리케이션을 다시 PDA용으로 전환할 필요 없이 기존에 개발한 애플리케이션을 그대로 모바일


환경에서 사용할 수 있어 시간과 비용, 안정성 측면에서 효과적이다. 

대출영업 모바일 시스템에 마이플랫폼을 적용한 한미은행 역시 직원들에게 PDA를 지급, 고객들에게 직접 화면을 보여주면서


설명, 계약 업무를 수행하고 있으며 기업은행, 제일화재, 대한생명 등도 투비소프트의 마이플랫폼으로 유무선을 연동해 타


업체와 차별화된 모바일 서비스로 경쟁력을 강화하고 있다. 

마이플랫폼은 암호화해 데이터를 주고받는 강력한 보안인 SSL을 기본 지원함은 물론, 멀티 모니터와 다양한 벤더의 보안


모듈과 연동할 수 있도록 지원한다. 강력한 보안 기능은 투비소프트 마이플랫폼이 금융권 고객을 다수 확보하고 있다는


데서도 알 수 있는 것. 

 

 

 

다양한 기기와 연동 가능한 오픈 아키텍처

버추얼 엔진을 기반으로 하는 마이플랫폼은 통신과 일부 컴포넌트를 고객 환경에 맞게 커스터마이징할 수 있다. 모바일 기기를


비롯한 외부기기들과 연동이 가능하며 통신 모듈을 따로 구축할 수 있어 기업들은 통신 부문을 제외하고 애플리케이션을


개발한 후, 추후 마이플랫폼의 통신 모듈을 연동시키면 된다. 때문에 개발자들의 업무 집중 효과도 높다는 설명이다.

또한 보통 웹 애플리케이션에서는 액티브X를 기반으로 그리드, 에디트 박스 등 컨트럴 패널이나 메뉴를 교체하기 위해서는


소스를 바꿔야 하지만, 컴포넌트 방식인 마이플랫폼은 화면 소스를 바꾸지 않고도 컨트롤 메뉴 교체가 가능하다.

그 밖에도 마이플랫폼 3.1은 개발자들에게 4GL 수준의 다양한 UI 컴포넌트를 제공함으로써 개발자들이 손쉬운 애플리케이션을


개발하도록 해 개발 생산성을 향상시킬 수 있다. 또 차트와 OLAP, 리포팅 툴이 내장돼 있어서 각 나라별, 연도별 대화방식으로


데이터를 보고 분석할 수 있고 편리한 프리젠테이션과 보고서 기능 등을 제공하고 있다.

이우철 팀장은 “X-인터넷 솔루션의 중요한 경쟁력은 그리드 기능이다. 마이플랫폼은 고객들이 원하는 그리드 안에서의 기본적인


엑셀 기능은 모두 지원하며 멀티헤더 구현이 가능하다는 점에서 다른 솔루션들과 차별점을 지닌다” 고 전한다. 

차트는 별도로 구매해 연동시키면 데이터 바인딩이 가능하지만, 리포팅 툴은 다른 제품이 별도 판매를 하는데 반해 마이플랫폼은


기본으로 내장하고 있어 비용상 경제적이라고 이우철 팀장은 덧붙인다. 

또 마이플랫폼은 ‘마이푸쉬 서버’와의 통신 기능이 기본 제공되는데, 이는 비즈니스 서비스에서 생성된 데이터를 클라이언트에


메시지 형태로 신속하게 전송해준다. 예를 들어 증권사에서 주식 시세가 바뀔 때마다 사용자의 클라이언트 화면에 신속하게


알려줄 수 있는 것이 마이푸쉬 서버로, 이 제품은 별도 판매된다. 

이우철 팀장은 “마이플랫폼은 ‘클라이언트 툴’ 이므로 서버가 무엇이든 다 접목시킬 수 있다. 마이푸쉬 서버처럼 패키지 형태로


구축하면 개발 기간이 줄고, 비용도 감소해 훨씬 효과적”이라고 강조한다.

또 RFID가 화두인 제조나 물류, 유통업체에서는 마이플랫폼이 내장돼 있는 ‘마이 RFID’를 도입함으로써 마이플랫폼과 RFID를


동시에 구현할 수 있다. 

투비소프트는 올해 마이플랫폼이 어떤 환경에서도 신속하게 구축될 수 있도록 하기 위해 마이크로소프트 환경에 독립적인


개발 방향을 강화한다는 방침이다. 

투비소프트 마이플랫폼 3.1
모바일을 비롯한 외부기기들과의 연동이 가능하고, 데이터 압축으로 네트워크 트래픽을 최소화함으로써 한 번 개발된 애플리케이션을 변환 없이 모바일에서도 사용할 수 있다. PID툴, 라인디버깅 기능, 다양한 UI 컴포넌트를 제공한다.

+ 유무선 연동 및 모바일 서비스 지원; 자체 개발한 PID툴 지원; 라인 디버깅 기능 및 MDI 제공; 네트워크 트래픽 최소화; 4GL 수준의 다양한 UI 컴포넌트 제공; 리포팅툴 기본 탑재 

- 윈도우 OS에 대한 종속성을 벗어난다는 취지에서 사용하고 있는 전용 브라우저가 기업 고객들에게는 또다른 구속이 될 수도 있다

비교 대상 쉬프트정보통신 가우스 닷넷 4.0

문의 투비소프트
02-2140-7700 www.tobesoft.com




사용자 삽입 이미지




사용자 삽입 이미지


반응형
반응형

 [출처] [WASC-36] SSI Injection 번역|작성자 ezno

http://blog.naver.com/PostView.nhn?blogId=ezno&logNo=130142788938



WASC-36 의 번역입니다. 

http://projects.webappsec.org/w/page/13246964/SSI%20Injection )


SSI Injection

Page history last edited by Robert Auger 2 years, 6 months ago

Project: WASC Threat Classification

Threat Type: Attack

Reference ID: WASC-36


SSI Injection

 SSI Injection (Server-side Include)  server side exploit 기술로서공격자가 웹 애플리케이션으로 나중에 웹 서버에 의해 실행 될 수 있는 코드를 보낼 수 있다. SSI Injection server-side로 해석된 HTML file 삽입하기 전에 사용자 제공 데이터를 유용하게 보이기 위해 웹 애플리케이션의 오류를 악용한다

 

 HTML 웹 페이지를 제공하기 전에웹 서버는 아마 Server-side  Include된 구문을 사용자에게 제공하기 전에 분석하고 실행시킬지 모른다.( 예를 들면게시판방명록 혹은 관리 시스템 콘텐츠 등), 웹 애플리케이션은 사용자 제공데이터에 web page의 소스코드를 삽입할 것이다

 만약 공격자가 Server-side Include 구문을 실행시킨다면그는 아마 임의적으로 운영체제의 명령어 를 실행시키거나제한된 파일의 내용을 포함 시킬 수 있을 것이다이러한 명령은 웹 서버 사용자의 권한 level로 실행 될 것이다.


Example

 다음의 SSI tag는 공격자가 UNIX 기반의 시스템의 root 디렉토리 목록을 보여준다.

<!--#exec cmd="/bin/ls /" -->

  다음의 SSI tag는 공격자가 database 연결 string을 얻도록 하거나, .NET 설정 파일에 다른 중요한 데이터를 포함시킨다

<!--#INCLUDE VIRTUAL="/web.config"-->

 

Mitigation

다음의 체크항목을 확인해야 한다.

 

오직 페이지가 필요로하는 지정된 SSI만 실행가능하게 하고 나머지는 전부 실행할 수 없도록 한다

사용자가 제공한 HTML entity 를 인코딩하여 페이지에 전달하기 전에 SSI 실행 권한을 확인한다.

페이지가 웹 서버 유저가 아닌 파일의 소유주로서 실행시킬 수 있도록 SUExec[5] 를 사용한다   

 

References

"Server Side Includes (SSI)" - NCSA HTTPd

[1] http://hoohoo.ncsa.uiuc.edu/docs/tutorials/includes.html

 

"Security Tips for Server Configuration" - Apache HTTPD

[2] http://httpd.apache.org/docs/misc/security_tips.html#ssi

 

"Header Based Exploitation: Web Statistical Software Threats" - CGISecurity.com

[3] http://www.cgisecurity.net/papers/header-based-exploitation.txt

 

"A practical vulnerability analysis"

[4] http://hexagon.itgo.com/Notadetapa/a_practical_vulnerability_analys.htm

 

"Apache suEXEC Support"

[5] http://httpd.apache.org/docs/1.3/suexec.html http://httpd.apache.org/docs/2.0/suexec.html

 

"Apache Tutorial: Introduction to Server Side Includes"

[6] http://httpd.apache.org/docs/2.0/howto/ssi.html http://httpd.apache.org/docs/1.3/howto/ssi.html

 

"Testing for SSI Injection"

[7] http://www.owasp.org/index.php/Testing_for_SSI_Injection

 

Server Side Include (SSI) Injection

[8] http://capec.mitre.org/data/definitions/101.html

 


반응형

+ Recent posts