⬢ DragonFlyBSD Kernel Audit
DF-0220 / kmem_window_attempt1.log
← back to finding ↓ download raw
== symbol csprng_pcpu = 0xffffffff81199140 ==

== [0] all states BEFORE experiment (expect: every state keyed, reseed_cnt>=1; cpu0 frozen at 1 per DF-5766) ==
csprng_pcpu = 0xfffff800898e5000
state[0] @0xfffff800898e5000: reseed_cnt=1 pool0=26968 key=NONZERO ctx=NONZERO last_reseed=184467440735.676656
state[1] @0xfffff800898e6a00: reseed_cnt=11 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.558299
state[2] @0xfffff800898e8400: reseed_cnt=11 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.549965
state[3] @0xfffff800898e9e00: reseed_cnt=12 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.541632
state[4] @0xfffff800898eb800: reseed_cnt=7 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.543299
state[5] @0xfffff800898ed200: reseed_cnt=6 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.554965

== [1] baseline: rand_mode=csprng, 4x32B /dev/urandom pinned to cpu2 (pre-force; expect non-zero, non-deterministic) ==
00000000  72 59 9d a1 69 d6 44 70  bc d9 02 52 85 db 26 07  |rY..i.Dp...R..&.|
00000010  d7 33 ba d1 dc 63 43 4a  e7 26 25 91 33 0f b8 02  |.3...cCJ.&%.3...|
00000020  e2 0c cb 46 53 a9 b0 d5  50 e2 ee f1 11 43 07 1e  |...FS...P....C..|
00000030  64 58 04 fe e4 63 0f 14  4d 63 e8 7f 3e 41 11 5a  |dX...c..Mc..>A.Z|
00000040  74 52 0d 35 ae 7b 90 4b  6c af a2 ef 86 7f 87 f8  |tR.5.{.Kl.......|
00000050  38 4b 9e b0 8a eb 64 b5  e4 48 08 d7 bd 99 3b 61  |8K....d..H....;a|
00000060  28 4c 1a 3a 9c 93 3b 24  1a 80 0f 6b 08 e3 2a f8  |(L.:..;$...k..*.|
00000070  78 5e 53 06 d0 7f 00 b3  a6 26 b1 b1 f4 31 2c 93  |x^S......&...1,.|
00000080

== [2] FORCE state[2] into pre-reseed condition ==
csprng_pcpu = 0xfffff800898e5000
backed up state[2] (6656 B) to /tmp/state2.bak
FORCED state[2] into pre-reseed condition (reseed_cnt=0, key=0, ctx=0, pool0.bytes=0)
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=ALL-ZERO ctx=ALL-ZERO last_reseed=0.000000

== [3] window read #1: 4x32B /dev/urandom pinned to cpu2 (expect: block1 = 00*32 fixed point, then deterministic rekey stream) ==
00000000  b4 02 5b 3f da cf 00 4e  86 93 b1 33 f4 a3 c2 09  |..[?...N...3....|
00000010  1e f5 e0 64 e3 d6 27 d5  20 2e 5e 4b 07 83 e9 6f  |...d..'. .^K...o|
00000020  31 27 68 2a d9 d4 e9 eb  16 fd 55 13 53 36 10 eb  |1'h*......U.S6..|
00000030  db 57 b4 5d 9e 27 c9 dc  ae 32 50 ad 31 03 bf d3  |.W.].'...2P.1...|
00000040  21 d2 ca a6 13 b4 02 8b  2e e6 aa 42 35 67 0e 99  |!..........B5g..|
00000050  39 ce 8b 90 f2 1a 1a 30  2b 64 57 58 8b 77 d7 cf  |9......0+dWX.w..|
00000060  11 0b 11 fc 78 15 b7 a9  22 b0 2c c2 55 31 6e ba  |....x...".,.U1n.|
00000070  21 96 98 3f db a2 21 6b  27 d3 e4 fd b4 8b 80 fd  |!..?..!k'.......|
00000080

== [4] FORCE again and repeat the exact same read (expect: byte-identical output => deterministic) ==
csprng_pcpu = 0xfffff800898e5000
backed up state[2] (6656 B) to /tmp/state2.bak
FORCED state[2] into pre-reseed condition (reseed_cnt=0, key=0, ctx=0, pool0.bytes=0)
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=ALL-ZERO ctx=ALL-ZERO last_reseed=0.000000
00000000  aa 24 20 33 40 56 e2 e9  3f ed 74 f8 07 87 d4 68  |.$ 3@V..?.t....h|
00000010  56 db c7 a8 9f b5 22 8f  f8 4f c9 92 11 5f ab 15  |V....."..O..._..|
00000020  81 c3 09 2c a7 a2 46 fc  5b 1a 7b 97 7b 25 d0 0c  |...,..F.[.{.{%..|
00000030  70 ee 0f c9 8e 8a 39 c1  c1 f9 c7 1d 1f c9 18 93  |p.....9.........|
00000040  a1 87 a6 ed c9 71 24 b4  b2 ca 50 da b7 7b e2 5f  |.....q$...P..{._|
00000050  c9 48 6f 5f 03 1c ac e4  eb 11 08 54 f5 3b 85 27  |.Ho_.......T.;.'|
00000060  b3 ba 8a ac f4 3d af 7f  1b 09 59 cd a8 b9 f0 29  |.....=....Y....)|
00000070  96 25 51 dc ac ff b2 4e  2e c8 44 45 d1 5e c6 ff  |.%Q....N..DE.^..|
00000080

== [5] FORCE again; read in default mixed mode (expect: NON-zero — IBAA masks the zero csprng contribution) ==
csprng_pcpu = 0xfffff800898e5000
backed up state[2] (6656 B) to /tmp/state2.bak
FORCED state[2] into pre-reseed condition (reseed_cnt=0, key=0, ctx=0, pool0.bytes=0)
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=ALL-ZERO ctx=ALL-ZERO last_reseed=0.000000
00000000  85 4e 3e 96 d9 1a b4 6d  99 4d 0e 9f 5c ff 59 e2  |.N>....m.M..\.Y.|
00000010  eb 4c d9 e0 dc 0f 92 9f  96 28 40 78 e7 7c 92 5a  |.L.......(@x.|.Z|
00000020  2f b5 ba 5a 66 82 3a 8a  22 05 c6 1b 82 2d ba a9  |/..Zf.:."....-..|
00000030  74 55 d0 df 47 00 42 02  5b 4f 09 45 8c 5c 44 2f  |tU..G.B.[O.E.\D/|
00000040  da b3 50 b5 3c 8a c6 a1  f6 da c0 92 66 08 50 a7  |..P.<.......f.P.|
00000050  14 5f 6c 5e e7 b4 89 37  b4 42 a9 8d f2 8e 16 b2  |._l^...7.B......|
00000060  e0 d4 b2 da 1a e0 ae 54  5f 3b 64 23 37 c2 03 f6  |.......T_;d#7...|
00000070  2f 4a f5 34 42 73 8c 93  36 d0 f5 51 93 91 8c e8  |/J.4Bs..6..Q....|
00000080

== [6] self-heal watch: state[2] should reseed within seconds as rand_thread refills pool[0] ==
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
csprng_pcpu = 0xfffff800898e5000
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966

== [7] all states AFTER experiment ==
csprng_pcpu = 0xfffff800898e5000
state[0] @0xfffff800898e5000: reseed_cnt=1 pool0=26968 key=NONZERO ctx=NONZERO last_reseed=184467440735.676656
state[1] @0xfffff800898e6a00: reseed_cnt=11 pool0=0 key=NONZERO ctx=NONZERO last_reseed=702.698500
state[2] @0xfffff800898e8400: reseed_cnt=0 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.659966
state[3] @0xfffff800898e9e00: reseed_cnt=12 pool0=0 key=NONZERO ctx=NONZERO last_reseed=683.661643
state[4] @0xfffff800898eb800: reseed_cnt=7 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.543299
state[5] @0xfffff800898ed200: reseed_cnt=6 pool0=0 key=NONZERO ctx=NONZERO last_reseed=682.554965
== restoring default rand_mode ==
kern.rand_mode: csprng -> mixed