OpenCV를 활용하는 영상처리 어플리케이션 개발자들은 항상 GPU 자원을 활용하고 싶을 것이다. 하지만 이기종 컴퓨팅 환경에서 CPU 이외의 다른 하드웨어 자원을 활용하는 것은 개발 환경 및 백그라운드 지식 등의 많은 어려움이 따른다.
GPGPU 활용에 가장 상용화로 성공한 대중적인 솔루션으로는 nVidia 사의 CUDA 기술이 있지만, 그 외에도 GPGPU 자원을 쉽게 활용할 수 있는 오픈 플랫폼이 있는데 이것이 OpenCL 표준이다.
최근 하드웨어와 소프트웨어 진영에서 모두 OpenCL의 지원 및 발전이 두드러지며 점점 더 확산되는 추세이다.
OpenCV 진영에서도, 3.0이 정식 릴리즈 면서 본격적으로 OpenCL을 활용하기가 한층 쉬워졌다.
OpenCV를 활용하는 영상처리 어플리케이션 개발자들은 항상 GPU 자원을 활용하고 싶을 것이다. 하지만 이기종 컴퓨팅 환경에서 CPU 이외의 다른 하드웨어 자원을 활용하는 것은 개발 환경 및 백그라운드 지식 등의 많은 어려움이 따른다.
GPGPU 활용에 가장 상용화로 성공한 대중적인 솔루션으로는 nVidia 사의 CUDA 기술이 있지만, 그 외에도 GPGPU 자원을 쉽게 활용할 수 있는 오픈 플랫폼이 있는데 이것이 OpenCL 표준이다.
최근 하드웨어와 소프트웨어 진영에서 모두 OpenCL의 지원 및 발전이 두드러지며 점점 더 확산되는 추세이다.
OpenCV 진영에서도, 3.0이 정식 릴리즈 면서 본격적으로 OpenCL을 활용하기가 한층 쉬워졌다.
nGrinder 소개 + 고급 사용법
- 아키텍쳐
- 자이선 / 그루비 스크립트 동작 방식
- DB 테스트
- 로그 레벨 조작 방법
- 리소스 처리 방법
- 라이브러리 처리 방법
- 대규모 응답 처리 방법
- 가중치 부여 방법
- 쓰레드별 다른 처리 방법
- XML / JSON 처리 방법
파이썬과 OpenCL을 함께 쓰는 방법을 안내 합니다.
this slides introduce how to use python with OpenCL.
unfortunately, I made this for korean readers only. however, if anyone wants to know this procedure in english, please contact me.
내가 대학원에 들어왔을 때 알았더라면 좋았을 연구 노하우 (개정증보판) (UST 대학원 신입생 OT 강연)Yoon Sup Choi
UST (과학기술연합대학원대학교)의 2013년 대학원 신입생 오리엔테이션에서 대학원 생활 및 연구 방법론에 관한 강연을 하였던 슬라이드입니다. 대학원에 이제 입학하는 신입생들을 위해서 예전에 올린 '대학원 연구 노하우 (http://www.slideshare.net/pelexus/ss-11919783)'를 수정 및 업데이트 한 버전입니다.
Tilmann Scheller discusses the various ways the LLVM compiler is being used for C/C++ toolchains, various programming languages and runtime systems, GPU's and the web.
Thesis - LLVM toolchain support as a plug-in for Eclipse CDTTuononenP
Integrates LLVM toolchain tools to Eclipse CDT IDE. It allows build automation and configuration via GUI. The first and currently the only cross-platform and open-source IDE that supports LLVM via this plug-in.
nGrinder 소개 + 고급 사용법
- 아키텍쳐
- 자이선 / 그루비 스크립트 동작 방식
- DB 테스트
- 로그 레벨 조작 방법
- 리소스 처리 방법
- 라이브러리 처리 방법
- 대규모 응답 처리 방법
- 가중치 부여 방법
- 쓰레드별 다른 처리 방법
- XML / JSON 처리 방법
파이썬과 OpenCL을 함께 쓰는 방법을 안내 합니다.
this slides introduce how to use python with OpenCL.
unfortunately, I made this for korean readers only. however, if anyone wants to know this procedure in english, please contact me.
내가 대학원에 들어왔을 때 알았더라면 좋았을 연구 노하우 (개정증보판) (UST 대학원 신입생 OT 강연)Yoon Sup Choi
UST (과학기술연합대학원대학교)의 2013년 대학원 신입생 오리엔테이션에서 대학원 생활 및 연구 방법론에 관한 강연을 하였던 슬라이드입니다. 대학원에 이제 입학하는 신입생들을 위해서 예전에 올린 '대학원 연구 노하우 (http://www.slideshare.net/pelexus/ss-11919783)'를 수정 및 업데이트 한 버전입니다.
Tilmann Scheller discusses the various ways the LLVM compiler is being used for C/C++ toolchains, various programming languages and runtime systems, GPU's and the web.
Thesis - LLVM toolchain support as a plug-in for Eclipse CDTTuononenP
Integrates LLVM toolchain tools to Eclipse CDT IDE. It allows build automation and configuration via GUI. The first and currently the only cross-platform and open-source IDE that supports LLVM via this plug-in.
넥슨코리아 사내 발표자료로 왓 스튜디오에서 파이썬으로 《야생의 땅: 듀랑고》 서버를 비롯한 여러가지 도구를 만든 경험을 공유합니다.
- 게임서버와 각종 툴, 테스트/빌드/배포 시스템을 만들 때 사용한 재료
- 파이썬 코드 품질 개선, 디버깅, 프로파일링, 최적화
- 파이썬 오픈소스 생태계와 왓 스튜디오가 하는 오픈소스 활동
[2014 CodeEngn Conference 10] 심준보 - 급전이 필요합니다GangSeok Lee
2014 CodeEngn Conference 10
열혈 취약점 헌터들의 고분군투기!
취약점을 찾게되면 어떤 일이 벌어질까? 급전이 필요한 외롭고 찌질한 대한민국 해커들의 급전을 위한 취약점 찾기 여행기. 과연 우리는 취약점을 찾고 급전을 만들어 외롭고 찌질한 이 상황을 타개할 수 있을 것인가?
http://codeengn.com/conference/10
http://codeengn.com/conference/archive
AppCheck Pro 랜섬웨어 백신은 “상황 인식 기반 랜섬웨어 행위 탐지(Context-awareness based ransomware behavior detection)” 기술이 적용된 캅(CARB)엔진으로 현재까지 발견된 패턴 뿐 아니라 차후 출현 가능한 랜섬웨어까지도 탐지하여 기존 백신의 탐지 및 대응 방식으로는 빠르게 대응할 수 없는 랜섬웨어 위협으로부터 가장 확실하고 안전하게 방어할 수 있습니다
OWASP에 대응할 수 있는 애플리케이션/웹 보안 솔루션 앱스캔(AppScan)의 Standard Editin에 대한 자료입니다.
AppScan의 다른 에디션인 Source Edition 에 대한 설명은 이쪽으로!
☞https://www.slideshare.net/eunoakcho/ibm-app-scan-source-edition
3. 서론
• 보안 취약점(Security Vulnerability)
– Zero-Day
– Hacking Team; RCS
• 기존 대응책
– 보안 패치
– 패치 관리 시스템(PMS)
– 침입 차단 시스템(IPS)
– 강제 접근 제어(MAC)
• 보호 대상 SW에 맞는 제로데이 대응책 필요!
4. 서론
• Sanitizer
– (손) 세정제
– 오염된(tainted) 사용자 입력을
– 세정(sanitize) 및 검사해서
– 문제가 있으면 적절히 대응
– ex: strcpy() 전에 buffer overflow가 발생할 수 있는지 크기 체크
– AddressSanitizer(ASan): Memory corruption detector
– ThreadSanitizer: Mutual exclusion error detector
– MemorySanitizer: uninitialized memory read detector
5. 서론
• 실행 파일 대상 Sanitizer 작성 프레임워크 연구
– 실행 파일을 입력으로 받아 실행 파일에 맞는 Sanitizer를 작성하는
Framework 연구
– ARMv7 Linux, ELF, System-level exploit
• 목적
– 취약점 공격 기법 / 공격자들의 취약점 공격 방식 조사
– 기존의 방어 기법 조사
– ARM 기반 ELF 실행 파일 대상 Sanitizer 프레임워크 구현 및 검증
6. 기존 방어기법 조사
• 취약점 공격 기법
– Buffer overflow; Return to Libc, Return Oriented Programming
– Format String bug
– Use after free
– Path injection
• 시스템 메모리 보호 기법
– NX (Not eXecutable)
– ASLR (Address Space Location Randomization)
– PIE (Position Independent Executable)
– RELRO (RELocation Read Only)
– RUNPATH / RPATH
7. 기존 방어기법 조사
• 시스템 분석 기법 조사
– 정적 분석
– 동적 분석: ptrace, strace, ltrace
8. 기존 방어기법 조사
• 사용자 정의 메모리 보호 기법
– AddressSanitizer
• clang/LLVM 이용 컴파일 시 Stub 코드를 삽입 (소스 코드 필요)
• Redzone 기법: 보호 대상 메모리 근처에 Red zone을 설정
• Shadow bit: 메모리 사용 방식에 따라 전체 메모리 영역을 추적
8byte 추적을 위해 1byte 사용 기본 12.5% 메모리 오버헤드
– BugSanitizer: 개발자 관점에서 버그 탐지. 안정적 SW 운영이 목표
– MemorySanitizer: C/C++ 초기화되지 않은 메모리 사용 탐지
– ThreadSanitizer: 프로세스/스레드 간 데이터 경쟁 선점을 탐지
9. 실행 파일 대상 Sanitizer 프레임워크
• Input: ARMv7 dynamically linked Linux ELF
• Process: 정적 분석 – 정책 관리자 – 동적 분석
• Output: Sanitizer (libsan.so)
– LD_PRELOAD
10. 실행 파일 대상 Sanitizer 프레임워크
• 정적 분석
– 실행 파일 대상 입력 정의
버퍼 입력이 발생하는 32개 system call
open, execve 등 자주 사용하는 system call
환경 변수(envp), 매개변수(argv)
– glibc 내 취약한 입력 함수 목록 탐지
gets, scanf, strcpy, strcat, …
– checksec.sh를 통한 보호 기능 점검
11. 실행 파일 대상 Sanitizer 프레임워크
• 동적 분석
– Format String Bug 탐지 및 무력화(% -> $)
– PLT breakpoint로 안전하지 않은 라이브러리 함수 호출 탐지
– ptrace를 통한 악의적인 시스템 콜 호출 탐지
• NoExec: execve() system call 방지
12. 실행 파일 대상 Sanitizer 프레임워크
• 동적 분석
– mmap 동적 분석으로 NX(Not eXecutable) 메모리 보호 유지
– ROP payload 탐지
13. 실행 파일 대상 Sanitizer 프레임워크
• 동적 분석
– Redzone을 통한 Heap buffer overflow 방지
• dlmalloc: Doug Lea's memory allocator
• Memory chunk는 heap BOF의 주 공격 대상
• Red zone 설정
– Head redzone/Tail redzone 을 통해
chunk header 변조 방지
– Random data
– malloc() 대신 sanitizer_malloc()로 설정
– free() 호출 시 변조 여부 검증
– Use-After-Free 방어
• malloc(), free() 할당 및 해제 알고리즘 변경