Monday, January 17, 2022

현대전은 이제 하이브리드 전쟁이다


현대전은 이제 하이브리드 전쟁이다. 요즘 러시아가 우크라이나 국경 인근에 러시아군 12만명을 배치하면서 국제 사회에 긴장감이 고조되고 있다.

* 관련 기사:
"30분이면 초토화"…러시아가 우크라이나 침공하려는 3가지 이유 (머니투데이)

1. 아래 기사에서 흥미로운 단락은 현대전이 심리전, 사이버전쟁 등 다양한 형태의 비정규전을 포괄하는 ‘하이브리드 전쟁’이라는 부분.

* 관련 기사:
사이버공격 배후 논란속 러-우크라이나 전운 고조…국제 금융시장 불안 (디지털데일리)

2. 우크라이나는 최근 정부 웹사이트를 노린 대규모 사이버 공격을 받았으며 그 배후로 러시아의 '코지베어/Cozy Bear(aka, APT29)' 해킹 그룹을 지목했다.

3. 코지베어는 러시아 국내정보국 FSB나 해외정보국 SVR의 지시를 받는 해킹 그룹으로 알려져 있다. 2020년 역사상 가장 큰 공급망 공격이었던 솔라윈즈(SolarWinds) 해킹 사건의 배후로도 지명된 조직.

4. 이미 북대서양조약기구(NATO) 사이버방위센터(CCDCOE)는 2008년부터 회원국 간 국제 사이버공격방어훈련 '락드쉴즈(Locked Shields)'를 시행하고 있고, 한국은 나토 회원국은 아니지만 아시아 국가 중 유일하게 참여함.

5. 락드쉴즈가 만들어진 배경도 러시아가 에스토니아에 사이버 공격을 했기 때문.

6. 미국은 2009년 미국방부 소속의 사이버전 담당 통합전투사령부인 사이버사령부(USCYBERCOM)를 NSA 본부에 만들어서 사이버전을 대비하고 있음.

Friday, January 7, 2022

[옵시디언] 노트에 암호 걸기


에버노트(EverNote)원노트(OneNote)는 노트에 암호를 걸어서 개인 프라이버시를 지킬 수 있다. 일기 같이 개인적인 감정을 적는다거나 은행 계좌번호, 웹 사이트 암호 등 민감한 개인 정보 등도 암호화할 경우가 있다.

에버노트는 텍스트를 선택해서 암호화시킬 수 있고, 원노트는 텍스트나 페이지(page) 단위로는 안되고 섹션(section)에 암호를 걸수 있다.

이 글에서는 요즘 한창 배우고 있는 옵시디언(Obsidian)에서 암호를 걸 수 있는 방법을 적어보았다.

윈도우 O/S의 경우, Eclipse Portable EncryptorVeraCrypt로 가능하다고 옵시디언 포럼에서 찾았지만, 분석맨은 맥 사용자라 다른 솔루션이 필요했다. (VeraCrypt는 macOS도 설치 가능하나, macFUSE 설치가 필요함)

macOS의 경우, 기본으로 내장된 Disk Utility 앱을 통해서 폴더를 암호화할 수 있다. 이 툴로 암호화시키면 .dmg 파일로 만들어준다. 또한, 서드파티 앱인 Encrypto와 같은 앱으로 암호화를 시킬 수 있다.

하지만, 이런 앱들은 옵시디언과 연동된 앱이 아니라 파일에 대한 암호화는 가능하지만 옵시디언과의 연동이 매끄럽지 않다. 암호는 걸수 있지만 옵시디언에서 바로 볼 수 없어 .md 파일로 다시 저장해서 열어보고 다시 암호화하고...암호화, 복호화가 가능하지만 불편하다.

옵시디언의 장점 중 하나는 기본으로 제공하는 주요 플러그인(Core plugins) 외에 서드파티 프러그인(Community plugins)을 제공한다는 점이다. 옵시디언 사용자 커뮤니티에서 만든 플러그인들을 이용할 수 있다.

이 중에 'Melt Encrypt'라는 플러그인이 있다. 암호화는 AES GCM 모드를 사용하고 있다. (보안성이 떨어지는 ECB 모드를 사용하지 않아 다행)

  • Melt Encrypt 설치 및 사용 방법

※ 분석맨은 English 모드로 사용 중이라 스크린샷이 영문입니다. 양해 바랍니다.

▶ 설치


설치는 간단하다. 서드파티 플러그인(Community plugins)에서 검색(Browse)을 눌러 'encrypt'로 검색하면 첫번째로 나오는 'Melt Encrypt'를 설치하면 된다.

서드파티 플러그인(Community plugins)의 안전 모드(Safe mode)가 ON 되어 있으면, OFF(안전모드 끄기) 한 후에 검색할 수 있다. 설치 후에는 활성화한 후 사용하면 된다.


▶ 사용 방법

1. 암호를 걸고자 하는 텍스트를 선택한다.

2. 커맨트 팔레트 열기(Open command palette)를 실행해서 'encrypt'를 타이핑하면 Meld Encrypt: Encrypt/Decrypt라 첫 줄에 나온다. 클릭하여 명령을 실행한다.

3. 사용할 암호를 입력한다.

4. 암호 입력 후, 아래와 같이 선택한 텍스트 부분이 암호화된다.

5. 복호화(decrypt)하려면, 암호화된 부분에 커서를 위치하고 커맨트 팔레트에서 암호화할 때와 같이 Meld Encrypt: Encrypt/Decrypt를 실행하면 암호를 물어보고, 암호 입력 후 복호화된다.

6. 'Decrypt In-place'를 클릭하면 에디터에 복호화된 문자가 대체된다.

7. 단축키(Hotkeys)에서 'encrypt'로 검색하여 나오는 'Melt Encrypt' 리스트를 선택해서 단축키를 지정하면 편하게 사용할 수 있다. 분석맨은 'Meld Encrypt: Encrypt/Decrypt Whote Note'에 단축키를 지정하여 전체 노트를 암호화할 수 있게 했다.

Thursday, January 6, 2022

[옵시디언] Presentation mode에서 slide down 바 만들기


옵시디언(Obsidian)의 프리젠테이션 모드(Start presentation)에서는 한 페이지 밖에 보이질 않고 다음 페이지로 넘길 수가 없네요.

아래의 CSS snippet를 복사해서 .obsidian -> snippets -> obsidian.css 파일에 넣어주면, 오른쪽에 slide down 할 수 있는 슬라이드 바가 생깁니다.

▶ obsidian.css


/*
CSS snippet that adds scrollbars on Obsidian slideshow slides in cases where content
would normally overflow and be hidden
*/

/* Apply styles to containing divs for slides */
.slides {
/* Set overflows to allow for auto vertical scroll bar and no horizontal scroll bar */
overflow-x: hidden !important;
overflow-y: auto !important;

/* Enable pointer events so users can click and drag on scrollbars */
pointer-events: auto !important;
}

/* Apply styles that apply directly to slides */
.slides > section {
/* Create flex container to arrange auto-generated elements by Obsidian on each slide */
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}

/*
Snippet to make slideshow slides take up full height of slides' container div
*/
.slides {
height: 100% !important;
}

/*
Snippet to make slideshow slides take up full height of slides' container div
*/
.slides {
height: 100% !important;
}

/*
Stylesheet to change the color of the slide controls to purple to better match the rest of the interface
*/

/* Change progress bar color to be purple */
.progress span {
background-color: var(--text-accent) !important;
}

/* Change default slide control button colors to purple */
.reveal .controls {
color: var(--text-accent)
}

/* Set control hover color to be a slightly lighter purple */
.reveal .controls:hover {
color: var(--text-accent-hover)
}

.slides-close-btn {
color: #48474494;
}