Que programa (s) está (m) reduzindo meu nível de pool de entropia? [duplicado]

14

Eu fiz um script bash simples que verifica o nível do pool de entropia em / dev / random. Eu percebo que da maneira que eu faço isso, eu diminuo muito ligeiramente a cada check (cat / proc / sys / kernel / random / entropy_avail) mas desde que eu chequei seu nível com uma freqüência de uma vez a cada 2 segundos, ele tinha mais que suficiente tempo para recuperar totalmente e até aumentar. Eu fiz a medição por 1 hora e 40 minutos. Enquanto isso eu não estava fazendo nada que eu achasse que diminuiria a entropia (como criar chaves SSH, etc.). Mas me disseram (no IRC) que o simples fato de estar conectado à Internet pode diminuir minha entropia, então eu repeti o experimento em um laptop totalmente desconectado da web, e exatamente o mesmo comportamento apareceu.

Eu não sei qual programa (s) está diminuindo a entropia no pool. Eu tenho uma instalação muito mínima do arch linux (646 pacotes instalados no total) no laptop desconectado e meu laptop principal que estava conectado à Internet durante as medições estava executando o gentoo com cerca de 800 pacotes instalados e nenhum programa particular rodando em segundo plano os "padrão". Eu tenho um DE instalado em ambas as máquinas (xfce). Aqui está o enredo dos dados:

Editar:vejaosdadosdomeulaptopsemInternet:

Edit2:DesabilitaroASLR(adicionadooparâmetrodokernelnorandmapsaoinicializarcomogrub)aindaproduzomesmocomportamento,entãooASLRnãoéoculpado.OutrográficoparamostrarosdadoscomoASLRdesativado:

Editar3:Aparentemente,minhaperguntaéumaduplicatade esta pergunta . Eu segui os comandos dados como resposta aceita, ou seja, sudo perf record -e random:\* -g -a -D 1000 -T sleep 60 e perf script . O arquivo de saída é gigantesco (4.4 Mb de dados de texto), aqui estão as primeiras linhas:

 swapper     0 [000]  3491.433002: random:mix_pool_bytes_nolock: ffffffff8173e956 pool: bytes 16 caller add_interrupt_randomness
              5ea5d9 __mix_pool_bytes (/lib/modules/4.6.2-1-ARCH/build/vmlinux)
              5ec601 add_interrupt_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux)
              2d5729 handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux)
              2d58b9 handle_irq_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux)
              2d8e2f handle_fasteoi_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux)
              230e6a handle_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux)
              7c9abb do_IRQ (/lib/modules/4.6.2-1-ARCH/build/vmlinux)
              7c7bc2 ret_from_intr (/lib/modules/4.6.2-1-ARCH/build/vmlinux)
              6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux)
              2bd9fa call_cpuidle (/lib/modules/4.6.2-1-ARCH/build/vmlinux)
              2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux)
              7ba434 rest_init (/lib/modules/4.6.2-1-ARCH/build/vmlinux)
              d0cff0 start_kernel ([kernel.vmlinux].init.text)
              d0c346 x86_64_start_reservations ([kernel.vmlinux].init.text)
              d0c494 x86_64_start_kernel ([kernel.vmlinux].init.text)

swapper 0 [000] 3491.433025: random:credit_entropy_bits: ffffffff8173e956 pool: bits 1 entropy_count 871 entropy_total 141 caller add_interrupt_randomness 5eaab6 credit_entropy_bits (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5ec644 add_interrupt_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d5729 handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9 handle_irq_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8e2f handle_fasteoi_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6a handle_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434 rest_init (/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel ([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations ([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel ([kernel.vmlinux].init.text)

swapper 0 [000] 3491.876901: random:mix_pool_bytes: ffffffff8173e956 pool: bytes 16 caller add_timer_randomness 5ea6a3 mix_pool_bytes (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eac36 add_timer_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eb477 add_input_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event ([hid]) 2506 hid_report_raw_event ([hid]) 27bb hid_input_report ([hid]) 1c5c hid_irq_in ([usbhid]) 9c05 __usb_hcd_giveback_urb ([usbcore]) 9ddf usb_hcd_giveback_urb ([usbcore]) 126ef xhci_irq ([xhci_hcd]) 13041 xhci_msi_irq ([xhci_hcd]) 2d56d1 handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9 handle_irq_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handle_edge_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6a handle_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434 rest_init (/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel ([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations ([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel ([kernel.vmlinux].init.text)

swapper 0 [000] 3491.876931: random:credit_entropy_bits: ffffffff8173e956 pool: bits 9 entropy_count 876 entropy_total 150 caller add_timer_randomness 5eaab6 credit_entropy_bits (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eacbd add_timer_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eb477 add_input_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event ([hid]) 2506 hid_report_raw_event ([hid]) 27bb hid_input_report ([hid]) 1c5c hid_irq_in ([usbhid]) 9c05 __usb_hcd_giveback_urb ([usbcore]) 9ddf usb_hcd_giveback_urb ([usbcore]) 126ef xhci_irq ([xhci_hcd]) 13041 xhci_msi_irq ([xhci_hcd]) 2d56d1 handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9 handle_irq_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handle_edge_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6a handle_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434 rest_init (/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel ([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations ([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel ([kernel.vmlinux].init.text)

swapper 0 [000] 3491.876945: random:add_input_randomness: input_pool_bits 876 5eb4c7 add_input_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event ([hid]) 2506 hid_report_raw_event ([hid]) 27bb hid_input_report ([hid]) 1c5c hid_irq_in ([usbhid]) 9c05 __usb_hcd_giveback_urb ([usbcore]) 9ddf usb_hcd_giveback_urb ([usbcore]) 126ef xhci_irq ([xhci_hcd]) 13041 xhci_msi_irq ([xhci_hcd]) 2d56d1 handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9 handle_irq_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handle_edge_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6a handle_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434 rest_init (/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel ([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations ([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel ([kernel.vmlinux].init.text)

swapper 0 [000] 3491.884903: random:mix_pool_bytes: ffffffff8173e956 pool: bytes 16 caller add_timer_randomness 5ea6a3 mix_pool_bytes (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eac36 add_timer_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eb477 add_input_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event ([hid]) 2506 hid_report_raw_event ([hid]) 27bb hid_input_report ([hid]) 1c5c hid_irq_in ([usbhid]) 9c05 __usb_hcd_giveback_urb ([usbcore]) 9ddf usb_hcd_giveback_urb ([usbcore]) 126ef xhci_irq ([xhci_hcd]) 13041 xhci_msi_irq ([xhci_hcd]) 2d56d1 handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9 handle_irq_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handle_edge_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6a handle_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434 rest_init (/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel ([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations ([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel ([kernel.vmlinux].init.text)

swapper 0 [000] 3491.884933: random:credit_entropy_bits: ffffffff8173e956 pool: bits 1 entropy_count 876 entropy_total 151 caller add_timer_randomness 5eaab6 credit_entropy_bits (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eacbd add_timer_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eb477 add_input_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event ([hid]) 2506 hid_report_raw_event ([hid]) 27bb hid_input_report ([hid]) 1c5c hid_irq_in ([usbhid]) 9c05 __usb_hcd_giveback_urb ([usbcore]) 9ddf usb_hcd_giveback_urb ([usbcore]) 126ef xhci_irq ([xhci_hcd]) 13041 xhci_msi_irq ([xhci_hcd]) 2d56d1 handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9 handle_irq_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handle_edge_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6a handle_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434 rest_init (/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel ([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations ([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel ([kernel.vmlinux].init.text)

(...)

swapper 0 [000] 3491.916850: random:add_input_randomness: input_pool_bits 876 5eb4c7 add_input_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event ([hid]) 2506 hid_report_raw_event ([hid]) 27bb hid_input_report ([hid]) 1c5c hid_irq_in ([usbhid]) 9c05 __usb_hcd_giveback_urb ([usbcore]) 9ddf usb_hcd_giveback_urb ([usbcore]) 126ef xhci_irq ([xhci_hcd]) 13041 xhci_msi_irq ([xhci_hcd]) 2d56d1 handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9 handle_irq_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handle_edge_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6a handle_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434 rest_init (/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel ([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations ([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel ([kernel.vmlinux].init.text)

swapper 0 [000] 3491.924973: random:mix_pool_bytes: ffffffff8173e956 pool: bytes 16 caller add_timer_randomness 5ea6a3 mix_pool_bytes (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eac36 add_timer_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eb477 add_input_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event ([hid]) 2506 hid_report_raw_event ([hid]) 27bb hid_input_report ([hid]) 1c5c hid_irq_in ([usbhid]) 9c05 __usb_hcd_giveback_urb ([usbcore]) 9ddf usb_hcd_giveback_urb ([usbcore]) 126ef xhci_irq ([xhci_hcd]) 13041 xhci_msi_irq ([xhci_hcd]) 2d56d1 handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9 handle_irq_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handle_edge_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6a handle_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434 rest_init (/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel ([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations ([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel ([kernel.vmlinux].init.text)

swapper 0 [000] 3491.925003: random:add_input_randomness: input_pool_bits 876 5eb4c7 add_input_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event ([hid]) 2506 hid_report_raw_event ([hid]) 27bb hid_input_report ([hid]) 1c5c hid_irq_in ([usbhid]) 9c05 __usb_hcd_giveback_urb ([usbcore]) 9ddf usb_hcd_giveback_urb ([usbcore]) 126ef xhci_irq ([xhci_hcd]) 13041 xhci_msi_irq ([xhci_hcd]) 2d56d1 handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9 handle_irq_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handle_edge_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6a handle_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 6756c7 cpuidle_enter (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bd9fa call_cpuidle (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2bde18 cpu_startup_entry (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7ba434 rest_init (/lib/modules/4.6.2-1-ARCH/build/vmlinux) d0cff0 start_kernel ([kernel.vmlinux].init.text) d0c346 x86_64_start_reservations ([kernel.vmlinux].init.text) d0c494 x86_64_start_kernel ([kernel.vmlinux].init.text)

firefox 827 [000] 3491.932654: random:mix_pool_bytes: ffffffff8173e956 pool: bytes 16 caller add_timer_randomness 5ea6a3 mix_pool_bytes (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eac36 add_timer_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 5eb477 add_input_randomness (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655492 input_pass_values.part.1 (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655852 input_handle_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 655d38 input_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 3c28 hidinput_report_event ([hid]) 2506 hid_report_raw_event ([hid]) 27bb hid_input_report ([hid]) 1c5c hid_irq_in ([usbhid]) 9c05 __usb_hcd_giveback_urb ([usbcore]) 9ddf usb_hcd_giveback_urb ([usbcore]) 126ef xhci_irq ([xhci_hcd]) 13041 xhci_msi_irq ([xhci_hcd]) 2d56d1 handle_irq_event_percpu (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d58b9 handle_irq_event (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 2d8d1b handle_edge_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 230e6a handle_irq (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c9abb do_IRQ (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 7c7bc2 ret_from_intr (/lib/modules/4.6.2-1-ARCH/build/vmlinux) 1f6fd81 [unknown] (/usr/lib/firefox/libxul.so) 100000001 [unknown] ([unknown])

Meu problema é que não consigo entender bem a saída. Eu não vejo qual programa está drenando a entropia. Alguém pode lançar alguma luz sobre esta saída? (P.S .: eu executei estes últimos comandos com o firefox rodando em segundo plano, então pode ter drenado alguma entropia, estou mais interessado nos outros processos.)

    
por thermomagnetic condensed boson 19.03.2016 / 15:54

2 respostas

1

Um comentário da função push_to_pool de /drivers/char/random.c diz:

/*
 * Used as a workqueue function so that when the input pool is getting
 * full, we can "spill over" some entropy to the output pools.  That
 * way the output pools can store some of the excess entropy instead
 * of letting it go to waste.
 */

Se bem entendi, o próprio kernel está limpando a entropia antiga do pool de entropia quando está ficando cheio.

    
por 17.05.2016 / 10:21
0

Heres um pensamento que poderia ajudar alguém a dar uma explicação.

Não sei como testá-lo ou confirmá-lo (não sei ao certo como você gerou os gráficos), mas em alguns de seus gráficos, pode haver um fenômeno de 'freqüência de batida' em ação. Se assim for, uma freqüência de batida é geralmente sintomática da freqüência de medição sendo tão ligeiramente diferente da freqüência do que está sendo medido. Um 'aliasing' se você quiser.

Ok, isso implica que pode haver uma mudança regular de nível de entropia medida também - e, pior ainda, note que isso não responde à sua consulta - o que causa as alterações - na verdade, ela compõe sua consulta.

Talvez o sinal de clock ou determinados múltiplos usados para acionar a criação de entropia em comparação com o tique-taque / round robin usado para iniciar sua rotina para medir o nível de entropia seja a causa do aliasing em suas medições frequência.

Como eu disse, é apenas um pensamento.

    
por 22.03.2016 / 21:43