윈디하나의 누리사랑방. 이런 저런 얘기

글쓴시간
분류 기술,IT
윈도11 의 코어 격리 및 메모리 무결성 기능

이 기능은 가상화 기반 보안을 사용하는 장치에서, 메모리 무결성을 지키기 위한 기능이다. 아래와 같이 활성화할 수 있다.

설정 → 개인 정보  및 보안 → Windows 보안 → 장치 보안 → 코어 격리 세부 정보 → 메모리 무결성

사용자 삽입 이미지

쉽게 말해 악의적인 코드가 실행되는걸 방지하기 위해 가상화 기능을 사용한다. 가상화 기능을 사용하면 각각의 프로세스를 완벽하게 분리할 수 있다. 그냥 아예 다른 운영체제인것처럼 작동할 수 있으니 말이다. 이를 VBS (Virtualization-Based Security)라고 부른다. 이를 구현하려면 커널 안에 VSM(Virtual Secure Module)을 두고 이 모듈 위에 각각의 커널을 올린다. 여기에 더해 HVCI(Hypervisor-Enforced Code Integrity)를 사용해 서명된 프로그램만 실행하도록 하면 원하지 않는 코드가 실행될 수는 없을 것이다.

이 기능을 구현하는데에는 최소 가상화기능이 지원되는 CPU만 있으면 되지만, 더 빨리 실행되기 위해서는 IOMMU(Input/Output Memory Management Unit), SLAT(Second Level Address Translation, =Nested Paging)를 지원해야 하고, HVCI 를 고성능으로 지원하려면 MBEC (Mode-Based Execute Control)기능을 CPU 에서 지원해야 한다. MBEC 는 인텔에서는 MBEC(Mode-based execute control for EPT), AMD는 GMET(Guest Mode Execute Trap)이라고 부른다. MBEC 를 지원하는 CPU가 Intel Kaby Lake, AMD Zen 2 부터다.

CPU가 MBEC 를 지원하지 않아도 HVCI 기능을 지원할 수 있지만 눈에띄게 느려진다. HVCI 를 끄고 사용하면 괜찮아진다. 이게 Intel Kaby Lake 미만, AMD Zen 2 미만의 CPU는 윈도11에서 지원하지 않는다고 말하는 이유중 하나다.

사용자 삽입 이미지

msinfo32 에서 보여주는 가상화기반 보안 사용 가능한 보안 속성. [모드 기반 실행 제어]가 있으면 MBEC 가 지원되는 것이다.


- MBEC 지원 여부는 파워셸에서도 확인할 수 있다.
Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard | Select-Object -ExpandProperty AvailableSecurityProperties

사용자 삽입 이미지

- 숫자의 의미
0 If present, no relevant properties exist on the device.
1 If present, hypervisor support is available.
2 If present, Secure Boot is available.
3 If present, DMA protection is available.
4 If present, Secure Memory Overwrite is available.
5 If present, NX protections are available.
6 If present, SMM mitigations are available.
7 If present, MBEC/GMET is available.
8 If present, APIC virtualization is available.

VBS 의 모든 기능 활성화하려면 Kaby Lake 및 이를 지원하는 마더보드에서는 최신 바이오스를 사용해야 하고, 최신 드라이버를 사용해야 한다. 바꿔말하면 Kaby Lake 에는 VBS 의 모든 기능이 안되는 경우가 있다는 의미다. VBS 를 제대로 지원하기 위한 사양은 아래에 나와있다.

https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-vbs

----
https://note.com/visit_6654/n/nf04dd3fe7cd0
https://note.com/visit_6654/n/n3652faf50464

https://learn.microsoft.com/en-us/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity

----

2024.09.01

HVCI 가 최신 CPU 에서도 시스템을 느려지게 만든다는게 이슈 되었다. 메모리 읽기/쓰기 작업에 대해 권한이 있는지 추가로 더 체크하기 때문에 느릴 수 밖에 없다. 느린건 맞는데 벤치마크해보면 10% 이상 느려진다는게 측정되니 문제다. 따라서 메모리 접근이 많은 프로그램, 예를 들어 게임 할 때에는 끄고 하자. 아예 가상화를 끄는 것도 좋다. 윈도 하이퍼바이저 Hyper-V 끄기, 가상화 끄기
글쓴시간
분류 기술,IT/하드웨어 정보
ASUS H110M-K - 4401 바이오스에서 LogoFAIL 보안이슈 해결

사용자 삽입 이미지

최근 당근에서 ASUS H110M-K 보드를 하나 더 구매했다. 가격은 1.6 만냥. 하나 정도 더 여유를 둘 생각에 큰 고민없이 구매했다. 다행이도 잘 작동하는 양품이다. 판매자는 미사용 제품이라고 했는데 실제 받아보니 그런거 같다. 보드도 깨끗했고 새제품 마더보드의 냄새가 가시지 않았기 때문이다.

사용자 삽입 이미지

- ASUS H110M-K 는 2015/11/12 에 최초 바이오스인 0338 버전이 출시되었다. 2024.03.17 현재 마지막 바이오스는 2024/01/08 에 배포된 4401 버전이다. 이 버전에서 LogoFAIL 보안이슈가 해결되었다.

보통 마더보드 바이오스 지원은 만 3년정도 해주는걸 고려하면, 대략 9년이 지난 지금까지도 해주는게 나름 신기하기도 하다. 흔하지 않은 일이다. 같은 ASUS 제품도 이렇게 지원해주지 않는다.

사용자 삽입 이미지

- 바이오스 업데이트 내역을 보다보면 재미있는게 하나 더 눈에 띄인다.

2021/03/25 일자 바이오스(4211 버전)을 보면 ALC897 오디오 코덱을 지원한다고 나온다. 참고로 내가 사용하고 있는 마더보드는 ALC887 오디오 코덱을 사용했다. 2021.03 부터 오디오 코덱을 변경한걸로 생각된다.

리얼텍의 ALC897 칩은 ALC892 칩과 동일한 스펙으로 저가 보드에 주로 사용된다. 물론 H110M-K 는 저가보드 맞다. 어차피 ALC887 과 ALC897 은 비슷한 스펙이고 저가 보드에 주로 사용되는 칩셋이라 의미없는 비교다.

사용자 삽입 이미지
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - Floral Dress

AI 에서 생성할 수 있는 드레스를 꼽자면 단연 이런 드레스를 꼽는다. 실존하기 어려운, 실제로 만들기 어려운 드레스다.

드레스 이미지 생성할대 가장 신경쓰는게 바로 손가락이다. 아직 잘 못 그리기 때문. 나머지 빛이라던가 얼굴 형태는 어떻게든 간접적으로 되긴 하는데, 손은 아직 자연스럽게 안된다. img2img 를 계속 쓸 수 있는것도 아니고 말이다. 다른 익스텐션을 사용해봐도 아직 마땅치 않다.

최초로 얼굴을 바꾸는 LoRA 를 사용하지 않고 올려본다. 그만큼 체크포인트가 얼굴 표현이 잘 되었다는 이야기도 하다.

프롬프트의 주제는 Floral, Lily, Tiara, Cyan 이다. 나름 잘 나와서 올려본다.

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지


사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지





글쓴시간
분류 기술,IT/스테이블 디퓨전

Stable Diffusion - Mapled Leaf

우연히 생성한 이미지. 별 생각없이 CivitAI 두리번 거리다가 재미있는 사진을 발견했고 내가 사용하는 체크포인트로 그려보았다. 그래서 나오게 된 사진 2장 올려본다.

특히 아래 사진은 이것과 유사한게 나오지 않을 정도로 특이한 사진이다. 렌즈 장 노출로 찍은 듯한 사진이라 한동안 보고 있었다.

사용자 삽입 이미지

원래 의도했던 사진은 아래와 같다. "강위의 섬 위에 홀로 있는 붉은 나뭇잎을 가진 오래된 나무"가 주제다.
사용자 삽입 이미지

글쓴시간
분류 기술,IT
AMD AGESA 1.2.0.C

사용자 삽입 이미지

AMD AGESA ComboAM4v2PI 1.2.0.C 가 2024.02.07 에 나왔습니다. 보안버그를 수정하기 위해 나왔는데요, 이제 마더보드 제조사에서 바이오스 패치를 내놓고 있는 시점입니다. 아직 제가 사용하는 ASUS B550M-A 는 안나와있습니다만, 조만간 바이오스가 배포될걸로 기대합니다. Asrock 의 B550, X570, A520 칩셋을 사용한 마더보드는 현재 배포되고 있네요.

사용자 삽입 이미지


- 그런데, Asrock 의 베타 바이오스 릴리즈 페이지에서, B550 칩셋 보드의  AGESA 1.2.0.C 업데이트 설명에 는 아래와 같은 문구가 있습니다.

To support Ryzen 5000 G-series processors, it requires to update the BIOS with Matisse, Renoir or Vermeer CPU

"라이젠 5000 G 시리즈 프로세서 지원에는 마티스, 르누아르, 버미어 CPU로 바이오스 업데이트가 요구된다"는 의미입니다. 라이젠 5000 G 시리즈 프로세서는 세잔(Cezanne)프로세서를 의미하는거고, 마티스는 3000 시리즈, 르누아르는 4000 G 시리즈, 버미어는 5000 시리즈 CPU 입니다. 원래 라이젠 5000 G 시리즈를 처음 인스톨하는데에는 제법 시간이 걸리기도 (2~3 분 정도 걸림) 합니다. Asrock 의 경우 B550 칩셋을 사용한 마더보드에서 3000 G 시리즈나 2000 시리즈도 지원했었기 (과거형인 이유는 최신 펌웨어 업데이트 하면 미지원함) 때문에 펌웨어 업데이트하면 이런 CPU 사용하는 경우엔 인식 안되는 현상이 일어납니다. Asrock 마더보드에만 있는 문구입니다.

일단 사용기 올라오는걸 지켜봐야겠네요.

사용자 삽입 이미지

AGESA(AMD Generic Encapsulated Software Architecture) 란 AMD CPU 에 내장된 펌웨어로 생각하면 쉽습니다. 라이젠 플랫폼의 초기화를 담당합니다. 마더보드의 바이오스로써 배포됩니다. 이후 AGESA 의 오픈소스 버전인 AMD openSIL 이 2026년에 나올 예정입니다.

----

https://www.amd.com/en/resources/product-security/bulletin/amd-sb-7009.html

https://www.asrock.com/support/index.kr.asp?cat=bBIOS

----

2024.04.07 업데이트

AGESA 1.2.0.Ca 나왔습니다. 보안버그 수정 외에 오버클럭시 성능 향상이 있다고 하네요. ASUS B550M-A 도 바이오스 업데이트 되었습니다. 어서 해봐야겠네요.

----

2024.04.09 업데이트

ASUS B550M-A 바이오스를 3607 으로 업데이트 했습니다. 오버클럭 하지 않았기 때문에 성능향상은 없네요.
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 벤치

공원 벤치에 앉아있는 여인을 그려달라고 했는데, 딱 하나 아래 처럼 생성되었다. 괘 맘에 들어서 올려본다.

사용자 삽입 이미지

SD 를 하다보면 가끔 이렇게 알 수 없는 디자인이 나오기도 한다. 같은 프롬프트로 시드를 다른걸로 그려봐도 전혀 같은게 나오지 않는 그런거 말이다. 위의 이미지도 마찬가지. 꽤 맘에 들었다.
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion WebUI 가 v1.8.0 으로 업그레이드 되었다.

사용자 삽입 이미지

- 가장 눈에 띄이는건, Pytorch 버전과 Xformers 버전이 올라갔다는거. 9초 걸리던 생성시간이 8초대로 줄었다.

torch: 2.1.2+cu121 • xformers: 0.0.23.post1 으로 업그레이드 되었다.

- Generate 버튼 눌렀다가 다시 취소할때 뭔가 메시지가 나온다. 한참 기다릴 필요 없어서 좋다. 또한 Extra 에서 이미지 업스케일시 배경에 업스케일링 상태바가 출력된다.

사용자 삽입 이미지

- LoRA 설정 창에서 이미지 업데이트하면 바로 갱신이 안된다. 리로드를 눌러줘야 한다. 버그인듯. 조금 불편하군요.

- 지금 설치되어있는 LoRA 가 2000 여개가 된다. 앞으로 더욱 늘어날 텐데, 이걸 관리해주는 기능이 강화되었으면 한다. 하지만 "어떻게" 강화해야하는지는 잘 모르겠다. 나만큼 LoRA 많이 쓰는 사람도 많은거 같다.
글쓴시간
분류 기술,IT
CPU 마켓 셰어

AMD vs Intel 에서 시장 점유율(Market Share)를 보려면 AMD vs Intel Market Share를 보면 된다.

사용자 삽입 이미지

시장 점유율. 출처: https://www.cpubenchmark.net/market_share.html


예전 젠3 5000 번대가 출시된 2021.Q1 이 50.5% 으로 AMD 의 전성기였다. 2006년 Q1의 53.9% 가 최고였지만, 2006년 Q3 에 인텔에서 Core2 시리즈를 발매한 이후 계속 내리막길이었다가, Ryzen 시리즈를 발표한 2016.Q3 부터 반등하기 시작한다. 지금은 잠시 주춤해진 시기.

라이젠 화이팅!
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion WebUI 4K 이미지 생성

사용자 삽입 이미지

nVidia 드라이버 업데이트로 언제부턴가 VRAM 이 부족하면 시스템 메모리의 50%까지 가져와 사용하도록 변경되었다.

이런 변경사항때문에 4K 로 바로 업스케일 가능한지 테스트해보았다.

※ 테스트 사양

메모리: VRAM 12GB, SYSTEM RAM 32 GB
SD WebUI: v1.7.0, "--xformers --no-half-vae" 옵션

※ 테스트

① 544 x 960 → 1088 x 1920 변환(Hires. fix)작업: 시간: 01m 56s, A: 8.40 GB, R: 12.71 GB, Sys: 12.0/12 GB (100.0%)
② 544 x 960 → 1632 x 2880 변환(Hires. fix)작업: 시간: 08m 43s, A: 15.93 GB, R: 25.72 GB, Sys: 12.0/12 GB (100.0%)
③ 544 x 960 → 2176 x 3840 변환(Hires. fix)작업: 실패. > 12m

A: 캐시 제외한 비디오 메모리 사용량
R: 토치 라이브러리의 최대 메모리 사용량
Sys: 비디오 메모리 사용량/총 비디오 메모리

※ 4K 를 바로 생성하려면 시스템 메모리 64GB 는 되어야 한다고 예상된다. 지금은 그냥 Extra 탭에서 업스케일링 하고 있다. 조만간 64GB으로 업그레이드할 생각이긴 하다.

※ 실패시에는 아래와 같은 문구가 나왔다. 마지막단계(생성 다 끝나고 VAE 사용하는 단계)에서 오류난다.

OutOfMemoryError: CUDA out of memory. Tried to allocate 7.97 GiB (GPU 0; 12.00 GiB total capacity; 18.51 GiB already allocated; 0 bytes free; 18.54 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

Time taken: 12 min. 41.4 sec.

A: 20.55 GB, R: 22.88 GB, Sys: 12.0/12 GB (100.0%)

메시지의 내용은 7.97GiB 할당하다가 오류났고 이걸 해결하려면 결과적으로 7.97GiB 메모리가 더 필요하다는 의미다. 최소 VRAM 을 8GB 증설하던가, 시스템 메모리를 16GB 증설하던가 해야 한다.

※ 테스트에 사용한 이미지는 아래와 같다.

사용자 삽입 이미지

원본


사용자 삽입 이미지

Hires fix 2배


사용자 삽입 이미지

Hires fix 3배


사용자 삽입 이미지

Extra 2배


사용자 삽입 이미지

Extra 3배


사용자 삽입 이미지

Extra 4배

글쓴시간
분류 기술,IT
케이스 LED 조명 RGB, ARGB

요즘의 조립 PC에서는 RGB 조명을 사용하곤 한다. 처음 소개되었을때가 2015년 경이었던걸로 기억하는데 그때 이후로 많이 발전했다.

초기의 RGB 조명은 시스템 팬에 넣은 LED 를 켜거나, SATA 전원단자에 LED 를 사용한 조명기기를 연결해 사용했던 방식이다. 그래도 꽤 인기를 끌었다. 필자도 몇개 가지고 있다.

그 이후 조명기기에서 사용하는것과 같은 형식인 "12V 4핀 RGB 단자"가 마더보드에 기본 장착되게 되고, 이를 RGB 방식이라 명명한다. 마더보드 제조사마다 이름을 달리불렀는데 ASUS 의 경우 ASUS Aura 라고 불렀다. 이때부터 PC 조명 시장이 본격적으로 성장하게 된다. AMD 에서 나온 CPU 기본 쿨러인 Prism 쿨러에도 이 단자를 사용할 수 있었으니 말이다.
사용자 삽입 이미지

4핀 단자


4핀 단자는 +12V, RED, GREEN, BLUE 단자로 이루어져있고 하나의 색만 표현할 수 있었다. 하지만 시중에 조명용으로 널리 사용하는 "12V 5050 RGB LED 스트립" 을 그대로 사용할 수 있었기 때문에 인기를 끌었다. 하지만 하나의 색만 표현할 수 있다는게 "조명"에서는 괜찮았지만 "튜닝"에서는 별로 였다.

사용자 삽입 이미지

3핀 단자

그래서 여러가지 색을 표현하고자 Addressable RGB (ARGB) 이 나오게 되었다. ARGB 는 디지털 방식을 사용하고, 5V 를 사용했다. 이후 좀 더 다양한 밝기, 패턴을 사용하기 위해 ARGB2 가 발표되었다. ARGB2 는 ARGB 와 호환된다.

※ 정리하자면

RGB: 4핀(+12V, GREEN, RED, BLUE) → 연결된 기기에 하나의 색만 표현 가능
ARGB:  3핀(+5V, DATA, GND)        → 연결된 기기에 여러 색을 표현할 수 있음
ARGB2: 3핀(+5V, DATA, GND)      → ARGB 에 더해 색의 밝기, 패턴등을 표현할 수 있음

- 현재 PC 튜닝용 LED는 대부분 ARGB 용으로 나오고 있다. RGB 용으로는 안나오고 있지만, RGB 방식은 조명기기에서 사용하고 있는 규격이라 그냥 조명기기 판매점에서 PC단자가 달린 LED 스트립을 구매해서 사용하면 된다.

- ARGB 는 DRGB(Digital RGB) 라고도 불린다. ARGB 도 어차피 WS2812(네오픽셀)칩 계열을 사용한 LED를 구동시킬  뿐이다.

- ARGB 제품중에서 A 가 Addressable 이 아니라 Auto 의 개념으로 사용하고 있는 제품이 있다. 마더보드에서 설정해준 효과, 예를 들어 Aurora 효과나 Breath 효과가 제대로 표현되는 제품이 제대로된 ARGB 제품이다.

- 여러대의 LED 제품을 사용하는 경우 LED의 소비 전력에 주의해야 한다. 대부분의 마더보드는 5V-3A 까지 전력을 공급해주는데, 전체 전력값은 기기를 여러개 연결하다보면 신경써서 작업해야 한다. 6개 정도의 기기를 연결할 수 있다고 한다. 전력을 신경쓰지 않으려면 차라리 ARGB 허브를 하나 구매하는게 좋다.