Summary

pchero on 8월 8th, 2010

 메모리상에 있는 객체에 접근할 길이 없어졌을 때 객체는 생명을 다했다고 말할 수 있다. 접근할 길을 잃은 객체는 어떤 방법으로든 메모리를 실행환경에 되돌려줘야 한다. 객체의 소멸에서 한 가지 주의해야 할 점은 객체는 자기의 스코프가 끝나게 되면 소멸된다는 점이다. 다시 말해, 그 객체가 사용되는 범위를 넘어가게 되면 객체의 사용주기가 끝나게 된다는 것이다. 아래의 예제를 보도록 하자. class [...]

Continue reading about 객체의 스코프

pchero on 8월 8th, 2010

 헤더파일을 보면 다음과 같이 #ifndef와 #endif가 나온다. 이는 3-1.h 헤더파일을 다른 소스파일이 여러 번 include 했을 때 발생하는 문제를 미연에 방지하기 위해서이다. #ifndef __3_1_h__#define __3_1_h__… … …#endif /* ifndef __3_1_h__ */  예를 들어, 3-1.h 헤더파일을 include한 또 다른 헤더파일인 3-2.h 파일이 존재하는데, 3-2.cpp 파일에서 다음과 같이 include 했다고 하자. #include “3-1.h”#include “3-2.h”  이와 같이 했을 [...]

Continue reading about 헤더파일 속의 #ifndef와 #endif 선언

pchero on 8월 8th, 2010

 스트림에서 사용하는 버퍼들이 서로 연결되어 있는 것이 있다. 예를 들어, cin이 수행될 때 cout의 버퍼가 비워진다던지 하면 cin과 cout의 스트림은 서로 연결되었다고 할 수 있다. 파일 ios.h를 살펴보면 tie 메소드가 제공되는 것을 볼 수 있다.이 tie 메소드를 이용하면 어떻게 연결되어 있는지 알 수 있다. 예를 들어, cin과  cout 사이가 연결되어 있는지 체크해 보려면 다음과 같이 [...]

Continue reading about 서로 연결된 스트림이 있다.

 출력 스트링 스트림에서도 put 메소드를 이용하여 버퍼에 하나의 문자식 입력할 수 있다. 간단한 예를 보면 다음과 같다. #include <strstrea>/* 우분투 10.04, g++-4.3.3 버전에서는 다음의 헤더파일을 사용하도록 한다. * #include <iostream> * #include <backward/strstream>*/ using namespace std; void main(void){  ostrstream intStream;  char intData = ’0′;   // 1~10 까지 숫자와 공백을 버퍼에 출력  for(int count = 0; count [...]

Continue reading about 한 문자씩 버퍼에 출력하는 put 메소드

pchero on 8월 8th, 2010

 cin 이 제공하는 메소드 중 하나의 문자를 입력받는 get 메소드가 존재하는 것처럼 cout에는 하나의 문자를 출력하는 put 메소드가 존재한다. put 메소드의 사용에는 제약이 따르게 되는데, 이는 put 메소드에서 사용 가능한 파라미터는 단지 하나의 문자(character)뿐이라는 것이다.  물론 숫자를 넘길 수도 있는데, 이 또한 내부에서 문자로 변환하여 화면에 출력하게 된다. 예를 들어 다음을 실행시켜 보자. int letter [...]

Continue reading about 출력 스트림에서 한문자씩 출력하기.

pchero on 7월 11th, 2010

 늘 그렇지만 나름 내용을 요약해서 정리를 한다고는 했지만 정리를 한다기 보다는 그냥 내용 자체를 빼먹어버린 부분이 많았다.  14장만 하더라도 GnuPlot 과 관련된 내용이었지만 그냥 중요하지 않다고 생각해서 빼버렸다.  정말로 보고 싶다면 책을 사서 보기를 권한다.  사실 정말 재미있는 내용들이 가득했다.  나에게 보안이라는 분야가 이렇게 재미있는 것인지 일깨워준 책. 이미지출처 : www.examplus.net  

Continue reading about 리눅스 방화벽 정리를 마치며…

pchero on 7월 11th, 2010

 * fwknop 설치  fwknop 의 설치는 http://www.cipherdyne.org/fwknop/download/ 에서 최신 소스 tarball 이나 RPM을 받는 것이다. 역시 MD5 합을 확인하는 것이 좋으며, 보안적 관점에서는 GnuPG 서명을 확인하기 위해 GnuPG를 사용하는 것이 더 좋다. 받은 파일이 안전하다고 판명되면 설치 과정을 진행할 수 있다.  이제 압축을 풀고 install.pl 스크립트를 실행하여 설치를 진행하자. 아래 보이는 에러 메시지는 필자의 서버에 make [...]

Continue reading about 13.fwknop 소개

pchero on 7월 11th, 2010

 * 공격 수단 축소  IDS에 의해 감시되는 스푸핑된 공격은 긍정 오류를 생성하지 못하며, 기본 버리기 패킷 필터 때문에 세션이 숫립될 수 없으므로 수립된 TCP 세션을 통해 실제 공격을 전달하려는 시도도 실패한다. 그러므로 포트 노킹과 SPA는 네트워크 서비스에 대해 공격을 가할 수 있는 수단을 감소시킨다. iptables 가 제공하는 기능을 통해 효과적인 포트 노킹과 PSA 시스템을 쉽게 [...]

Continue reading about 12.포트 노킹과 단일 패킷 권한 부여

pchero on 7월 10th, 2010

 * fwsnort 탐지와 psad 동작의 결합  fwsnort는 공격을 탐지하면 iptables 로그 메시지를 생성한다. 이 메시지는 사용자에게 해당 로그 메시지를 촉발한 스노트 규칙 ID, fwsnort 체인내의 규칙 번호, 패킷이 수립된 TCP 세션의 일부인지 여부를 알려주는 로그 접두어를 포함한다.  ** WEB-PHP Setup.php access 공격  스노트 규칙 ID 2281은 미디어위키 소프트웨어(원래는 위키피디아를 보조하기 위해 설계된 소프트웨어다. http://en.wikipedia.org/wiki/Mediawiki 참조)의 [...]

Continue reading about 11.psad와 fwsnort의 결합

pchero on 7월 7th, 2010

 * fwsnort 설치  psad와 마찬가지로 fwsnort 도 인스톨 프로그램 install.pl과 함께 제공된다. 이 프로그램은 이전에 설치된 fwsnort 의 설정 보존, 두 개의 펄 모듈 설치(Net::IPv4Addr와 IPTables::Parse), 최신 블리딩 스노트 서명 집합의 (선택적인) 다운로드(http://www.bleedingsnort.com 에서 받음)를 포함해서 설치의 모든 것을 처리한다.  우분투/데비안의 경우 다음의 apt-get 을 이용한 설치가 가능하다.  # sudo apt-get install fwsnort 단, fwsnort [...]

Continue reading about 10.fwsnort 배치