המסמך הזה מיועד למי שמחליט אם תוכנה שנושאת הקשות מותרת במחשב או ברשת. הוא נשען על מסמכי האבטחה של BukDesk עצמו, ואומר מה בנוי, מה לא, ומה לא נבדק.

שום דבר כאן עוד לא נבדק בידי גורם חיצוני. בדיקה עצמאית מתוכננת לפני ההשקה.

1. מפני מי הוא מגן

תוקףמוגן?
מי שנמצא על אותה רשת, צופה או משנהכן לגבי התוכן ולגבי מי מתחבר. לא לגבי זמינות ודפוסי תעבורה
מחשב שלא חוברכן, אלא אם אדם ליד כל מחשב לוחץ, אחרי שראה אותו קוד בשניהם
מחשב מחובר שהפך לעויןרק בחלקו. ראו סעיף 8
מי שמחזיק עותק של הדיסק או גיבויכן לגבי המפתח, ב-Windows: הוא לא נמצא בקובץ
מי שגנב חשבון באתרכן, לפי התכנון: חשבון אף פעם לא מאפשר להתחבר למחשב
מי שמפעיל את הממסר או פרץ אליוכן לגבי התוכן ולגבי התחברות. לא לגבי מטא-נתונים
מי שנמצא באינטרנט ולא חוברכן
סשן של AI עם מסוף, או תוכנה אחרת של אותו משתמש ב-Windowsרק בחלקו
מי שמפעיל את שרת העדכונים או פרץ אליוכן: אין בו מפתח. הוא יכול לעכב עדכונים ולא יותר
מי שיכול להשתמש במפתח שחותם על עדכוניםרק בחלקו. ראו סעיף 7
תוכנה זדונית, או מנהל מערכת, במחשב עצמולא

2. הערוץ

ברשת המקומית: Noise_XX_25519_ChaChaPoly_BLAKE2s, דרך הספרייה snow, מעל מסגרות עם קידומת אורך.

  • כל מסגרת מוצפנת ומאומתת. מסגרת ששונתה או שוכפלה מסיימת את החיבור.
  • לכל חיבור יש מפתחות חדשים, כך שמפתח שנגנב אחר כך לא פותח חיבורים שהוקלטו.
  • ללחיצת היד יש פתיח קבוע, ולכן היא מסתיימת רק בין שני עותקים של BukDesk.
  • נקודות Curve25519 מסדר קטן נדחות.
  • יש חבילת הצפנה אחת וגרסת פרוטוקול אחת. אין למה לרדת.

3. הסריאל

סריאל הוא 20 תווים: 100 ביטים של גיבוב SHA-256 של המפתח הציבורי של המחשב. הוא אומר לאיזה מפתח לצפות בפעם הראשונה. אחרי החיבור הוא כבר לא משנה: המפתח כולו נשמר ומושווה.

4. חיבור מחשבים

מחשב מקבל בקשות חיבור רק כשאדם פתח חלון חיבור. החלון סגור כברירת מחדל ונסגר לבד. כדי לפתוח אותו, ולכל לחיצה בתהליך החיבור, צריך את העכבר של המחשב הזה עצמו.

  1. אדם מקליד את הסריאל של המחשב השני, או בוחר אותו מאלה שהוכרזו בסביבה. החיבור נדחה אלא אם הצד השני מוכיח שיש לו מפתח שמתאים לסריאל.
  2. הצד שמבקש שולח התחייבות למספר אקראי.
  3. הצד שעונה שולח מספר אקראי משלו.
  4. הצד שמבקש חושף את המספר שלו, והוא חייב להתאים להתחייבות.
  5. שניהם מחשבים שש ספרות מלחיצת היד ומשני המספרים, ושניהם מציגים אותן.
  6. האדם ליד המחשב שעונה מאשר רק אם בשני המסכים מופיעות אותן ספרות.
  7. האדם ליד המחשב שמבקש לוחץ כדי לומר שאותן ספרות מופיעות במסך השני.

ההתחייבות קיימת כי הצד שמבקש זז אחרון בלחיצת היד. בלעדיה הוא היה יכול לנסות וריאציות עד שהספרות יהיו כאלה שהוא בחר. איתה, לזר יש בערך סיכוי אחד למיליון בכל ניסיון, והניסיונות מואטים: כל בקשה שמסתיימת בלי אישור מכפילה את ההמתנה לפני הבאה, עד 5 דקות.

שלב 7 קיים כי סריאל אומר לאיזה מפתח לצפות, ולא של מי המחשב. כל אחד ברשת יכול להכריז על סריאל משלו. לכן מפתח נשמר רק אחרי שאדם הסתכל על קוד במסך שהוא רואה.

מה נשאר: אדם שלוחץ בלי להסתכל, ואדם שמובילים אותו בטלפון.

5. דרך האינטרנט: הממסר

כבוי כברירת מחדל. שום דבר לא מתחבר לממסר עד שאדם פותח את זה בשני המחשבים.

הממסר אינו מהימן. הוא מחבר שני חיבורים ומעביר בייטים. אין לו מפתח ואין לו רשימת מחשבים, ושום דבר לא נרשם אצלו.

בתוך TLS 1.3, שני המחשבים מפעילים Noise_XXpsk0_25519_ChaChaPoly_BLAKE2s. הסוד הנוסף נגזר מהסכמת מפתחות בין שני המפתחות שנשמרו בחיבור, ולכן ממסר, או זר שמתחבר למחשב שמחכה, לא מקבלים שום תשובה. דרך הממסר, שם חיבור יכול להימשך זמן רב, המפתחות גם מתקדמים כל 65,536 הודעות בכל כיוון.

מההממסר יודע את זה?
הכתובות והפורטים של שני המחשביםכן, כל עוד הם מחוברים. לא נרשם
ששתי כתובות מדברות זו עם זוכן. לא נרשם
זמניםכן
גדליםכן. קלט עובר במסגרות בגודל אחד ובקצב קבוע, וזה מסתיר את קצב ההקלדה ולא את העובדה שמישהו פעיל
סימן שמתחלף כל שעהכן. אחרי מחשב שמחכה בלי הפסקה אפשר לעקוב מסימן לסימן
מפתחות ציבוריים, סריאלים, שמותלא. הם אף פעם לא נשלחים אליו
תוכן המסגרותלא

מה הוא שומר: מי מחובר, בזיכרון. גיבוב עם מפתח של כל כתובת, בזיכרון, כ-10 דקות. שורת ספירה אחת בדקה, בלי כתובת, סימן או תוכן, שיומן השרת שומר 30 יום. הממסר עצמו לא כותב שום דבר לדיסק.

מה אף פעם לא עובר דרכו: קבצים, ותמונות מסך.

שליטה דרך האינטרנט דורשת אישור משלה בכל כיוון, במחשב שזה נוגע לו, ומסתיימת במקשי החירום, במסך הנעילה, בזמן שהאדם קבע, או כשהחיבור נופל. כששליטה במחשב מסתיימת ואף אחד לא משתמש בעכבר או במקלדת שלו עצמו, הוא ננעל, אחרי אזהרה של 30 שניות. קריסה או סגירה כפויה של BukDesk לא נועלות דבר. הודעה לסשן של AI שהגיעה דרך הממסר תמיד מחכה לאדם.

Premium עוד לא נמכר, והבדיקה שלו בממסר עוד לא נבנתה. הוא יוסיף בדיקה שמי שמתחבר שילם, וספירה של זמן חיבור. היום הממסר לא מבקש שום הוכחת קנייה ולא מכיר לקוחות. המסמך הזה יאמר מה הבדיקה הזו מגלה לממסר ולאתר כשהיא תיבנה.

6. מפתחות

ב-Windows, המפתח הפרטי של מחשב נמצא במנהל האישורים של Windows, של המשתמש הנוכחי, ונשמר במחשב הזה בלבד. הוא לא נמצא בקובץ.

  • דיסק גנוב, גיבוי או משתמש אחר במחשב לא נותנים את המפתח.
  • תוכנה זדונית שרצה בשם אותו משתמש יכולה לבקש אותו, וכך גם מנהל מערכת.
  • אין דרך לבטל מפתח בכל המחשבים. בכל אחד מהם צריך לנתק את החיבור ביד.

7. עדכונים

עדכון יכול להריץ קוד במחשב של כל משתמש, ולכן שום דבר בו לא נשען על השרת שממנו הוא מגיע.

  1. התוכנה פונה לכתובת קבועה אחת ומבקשת מניפסט. הכתובת והמפתחות הציבוריים קבועים בקוד המקור.
  2. היא בודקת את חתימת ה-Ed25519 של המניפסט לפני שהיא קוראת ממנו משהו, ואחר כך שהוא מיועד למוצר ולפלטפורמה האלה, שתוקפו לא פג, ושהוא לא ישן מהגרסה שרצה.
  3. היא מורידה את קובץ ההתקנה, ומחשיבה אותו כמורד רק אם הגודל וה-SHA-256 תואמים למה שנחתם.
  4. מעדכן נפרד, ש-Windows מבקש ממנהל מערכת לאשר, בודק הכול שוב בעצמו ומפעיל את ההתקנה.

אין מעקב אחרי הפניות. במניפסט אין הגדרה, כתובת או מפתח.

אם משתלטים על שרת העדכונים, אפשר לעכב עדכונים. אי אפשר להגיש קובץ התקנה אחר, או להגיש גרסה ישנה כחדשה.

אם מישהו יכול להשתמש במפתח החתימה, הוא יכול לשלוח כל דבר. מה מגביל את זה: המפתח נמצא בשירות מפתחות בענן שלא מאפשר לייצא אותו, בנפרד מהאתר ומשרת העדכונים. עדכון לא מותקן לבד עד שהמחשב יודע עליו 24 שעות, כך שיש יום לשים לב. מי שלוחץ "התקנה" לא מחכה.

קובץ ההתקנה וכל תוכנה בתוכו חתומים עבור Windows בשם Bukchair Ltd.

8. מה לא מוגן

  • תוכנה זדונית או מנהל מערכת באחד המחשבים. הם יכולים לקרוא הקשות, לקחת את המפתח ולשנות את רשימת המחשבים המחוברים.
  • מחשב מחובר שהפך לעוין. הוא יכול לשלוח לתוכנה כל הודעה. אחרי שאדם שם אותו בסידור, הוא יכול להקליד ולהזיז את העכבר, והוא רואה מה מוקלד ומה יש בלוח כשהמקלדת והעכבר עוברים אליו, חוץ ממה שהתוכנה שהעתיקה סימנה כפרטי. באמון מלא, שפועל כברירת מחדל למחשב שחובר בקוד שמופיע בשני המסכים ויש לו מתג בכל חיבור, לחיצה אמיתית בעכבר או במקלדת שלו ברשת המקומית גם מאשרת הודעות, עצירות של לולאה, מסירה אוטומטית, העברת קבצים, צפייה במסך ושינויים בסידור. הוא לא יכול לפתוח חלון חיבור, לחבר מחשב זר או לשנות את האמון הזה, וקלט שתוכנה יצרה לא נחשב.
  • אדם שמאשר בלי להשוות את הקוד.
  • אדם ששכנעו אותו דרך האינטרנט. כל שלב הוא פעולה נפרדת והזדמנות לעצור. שום דבר מזה לא עוצר מי שמאמינים לו. זו ההונאה הקלאסית נגד תוכנות שליטה מרחוק, ואין פרוטוקול שמונע אותה.
  • מחשב שאין אף אחד לידו, כששליטה דרך האינטרנט נשארה מאושרת. הצד הרחוק יכול להשתמש בו, כשהוא לא נעול, עד שמסך הנעילה עולה או שהחיבור נופל. אין מגבלת זמן אלא אם האדם קובע אחת. המחשב ננעל כשהשליטה הזו מסתיימת, ולא כל עוד היא נמשכת. צד רחוק ששולט יכול לעקוף את הנעילה הזו, כי הוא יכול להקליד: הוא יכול לסגור את BukDesk, וקריסה או סגירה כפויה לא נועלות דבר.
  • חסימה. מי שנמצא ברשת יכול לנתק חיבורים ולהציף בהכרזות.
  • דפוסי תעבורה. כל מי שנמצא בדרך רואה מתי עוברת תעבורה ומה גודל כל מסגרת. ממסר רואה גם אילו כתובות מדברות עם אילו.
  • מה שמי שמפעיל את הממסר בוחר לעשות. הוא לא שומר רישום כי הקוד לא שומר. מי שמשנה את הקוד, פורץ או מחייב אותנו היה יכול להתחיל לשמור: כתובות, זמנים, גדלים וסימנים, ולא מפתחות או תוכן.
  • להיראות ברשת. כל מחשב מכריז על הסריאל שלו ברשתות שהוא משתמש בהן. הסריאל לא משתנה אף פעם.
  • מחשבים קוונטיים עתידיים. X25519 אינו בטוח מול מחשב קוונטי גדול. אין הגנה פוסט-קוונטית.
  • מפתח שנגנב. ראו סעיף 6.
  • הזרקת הנחיות. הודעה ממחשב אחר לסשן של AI היא טקסט מבחוץ, גם כשהערוץ תקין.
  • כלי AI שיכול להריץ פקודות. הוא רץ בשם המשתמש המחובר. כלים ששואלים לפני שהם מריצים פקודות הם הדבר היחיד שעומד בדרך, והאכיפה היא שלהם.
  • דיסק או מכונה וירטואלית שהועתקו. שני מחשבים יחלקו זהות אחת, ושום דבר לא ישים לב.
  • מי שיכול לחתום על העדכונים. מפתח החתימה יכול לשלוח כל דבר לכל משתמש. ראו סעיף 7.
  • באגים במה ש-BukDesk בנוי עליו. ההצפנה באה מ-snow ומחבילות Rust שמתחתיה. אנחנו נשענים עליהן ולא בדקנו אותן בעצמנו.

9. מה לא נבדק

  • רשת דומיין אמיתית, ו-Group Policy אמיתי.
  • תוכנות אבטחה אחרות, שיכולות לחסום האזנה לקלט.
  • מאות מחשבים על רשת אחת.
  • הממסר ברשת של משרד.
  • בדיקה חיצונית או בדיקת חדירות.

10. דיווח על בעיה

ראו מדיניות הדיווח.